2016-04-04 6 views
1

Я хочу заблокировать весь запрос с помощью методов POST, DELETE ... ..., но GET и для всех адресов, кроме одного или двух. Вот мой код, мне нужно http://.../api/failure/report, чтобы быть свободным, и все остальные будут перенаправлены.Htaccess блокирует все входящие методы, кроме GET для всех адресов, кроме одного?

<IfModule mod_rewrite.c> 
    RewriteCond %{REQUEST_METHOD} !=GET 
    RewriteCond %{REQUEST_URI} !^/api/failure/report [NC] 
    RewriteRule ^.*$/[R=301,L] 
</IfModule> 

Когда я использую этот код, он работает хорошо, но я хочу наоборот.

<IfModule mod_rewrite.c> 
    RewriteCond %{REQUEST_METHOD} !=GET 
    RewriteCond %{REQUEST_URI} ^/api/failure/report [NC] 
    RewriteRule ^.*$/[R=301,L] 
</IfModule> 

ответ

0

Вы можете использовать следующее:

<IfModule mod_rewrite.c> 
RewriteRule ^api/failure/report/?$ - [L] 
    RewriteCond %{REQUEST_METHOD} !GET [NC] 
    RewriteRule ^.*$/[R=301,L] 
</IfModule> 
+0

Спасибо за ваш ответ, я проверить это, но это то же самое. Он просто перенаправляется на/ –

+0

Я даже изменил его на RewriteRule ^. * /? Api/failure/report /? $ - [L], но это случилось. –

Смежные вопросы