是否可以在某些 url 上阻止 POST 方法,例如
www.mydomain.com/dontposthere
www.mydomain.com/something/againdontposthere
在 htaccess 中?
如果您有权访问 mod_rewrite,则可以检查REQUEST_METHOD
环境变量并将 url 重写到另一个页面,该页面显示一条消息,例如“您不允许发布”
创建一个包含消息的页面:/var/www/noPost.php
You are not allowed to post to this page
然后使用这样的 .htaccess 规则:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} ^/dontposthere [OR]
RewriteCond %{REQUEST_URI} ^/something/againdontposthere
RewriteRule .* /noPost.php [L,QSA]
您可以创建文件/文件夹列表作为匹配条件,甚至可以创建正则表达式模式来匹配多个文件/文件夹。你只需要放[OR]
最后一个。
替代编写“noPost”页面,只需使用F|forbidden 标志直接返回 403 响应:
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} ^/dontposthere
RewriteRule .* - [F,L]