Htaccess为除一个之外的所有Url阻止除GET之外的所有传入方法


Htaccess block all incoming methods except GET for all Urls except one?

我想用POST、DELETE。。。方法,但GET和用于除一个或两个之外的所有Url。这是我的代码,我需要http://.../api/failure/report免费,所有其他内容都被重定向。

<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>

您可以使用以下内容:

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