2016-04-04 63 views
1

我想用POST,DELETE,...方法阻止所有請求,但GET和除一個或兩個之外的所有Url。這是我的代碼,我需要http://.../api/failure/report是免費的,所有其他人都需要重定向。Htaccess會阻止除一個之外的所有Url的所有傳入方法,除了一個?

<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],但是也發生了相同的情況。 –

相關問題