MOD_WRITE Apache Tomcat УСЛОВИЯ ОБНОВЛЕНИЯ, сочетающие request_uri и request_method - PullRequest
0 голосов
/ 20 октября 2018

Я пытаюсь написать условие перезаписи, в котором я хочу разрешить определенный URL в сочетании с определенным методом запроса.Но я пробую все, но безуспешно.

Что я хочу сделать словами:
Если мой URI - / login, а метод запроса - POST, то разрешить (как в случае без подстановки.)

То, что я пробовал, НЕ РАБОТАЕТ

RewriteCond %{REQUEST_URI} *\.(css|js|html|png|jpg|jpeg|gif|txt|ttf|json|woff|ico)$ [OR]
RewriteCond %{REQUEST_URI} ^(/rest/api).*$ [OR]
RewriteCond %{REQUEST_METHOD} =POST
RewriteCond %{REQUEST_URI} ^(/login)$ [OR]
RewriteRule ^(.*)$ - [L]

RewriteRule ^(.*)$ /index.html

Что бы я хотел

RewriteCond %{REQUEST_URI} .*\.(css|js|html|png|jpg|jpeg|gif|txt|ttf|json|woff|ico)$ [OR]
RewriteCond %{REQUEST_URI} ^(/jarvis/api).*$ [OR]
RewriteCond %{REQUEST_METHOD} =POST (HERE I want to put AND to COMBINE THEM)
RewriteCond %{REQUEST_URI} ^(/login)$ [OR]
RewriteRule ^(.*)$ - [L]

RewriteRule ^(.*)$ /index.html

У меня такое ощущение, что это легко, я просто не знаю как.Любая помощь будет оценена

1 Ответ

0 голосов
/ 22 октября 2018

Мне удалось заставить его работать.С обходным путем.Его публикация может помочь другим пользователям.

Использование флага цепочки, как показано ниже

RewriteCond %{REQUEST_METHOD} POST [NC]
RewriteRule ^(.*)$ - [C]
RewriteCond %{REQUEST_URI} (/login)$ [NC]
RewriteRule ^(.*)$ - [L]

Так что, если поступающий запрос имеет метод запроса POST, тогда не выполняется подстановка, и он перемещается вСледующее правило (работает флаг цепочки) - это URI запроса xxxx в этом случае / login и, если оно совпадает, то подстановка не выполняется, как требуется.

...