RewriteCond %{REQUEST_URI} ^post/tag/
RewriteRule .* - [F]
The
REQUEST_URI
服务器var确实以斜杠开头(这是一个完整的根相对URL路径),尽管您确实说过您已经尝试过了;带或不带前导斜杠;,如果你指的就是这个
/post
是URL路径中的第一个路径段。
但是,您不需要额外的RewriteCond
可以(并且应该)在RewriteRule
而不是指令。例如:
RewriteRule ^post/tag/ - [F]
在这种情况下,上没有斜杠前缀
RewriteRule
图案。
如果仍然失败,请尝试匹配THE_REQUEST
相反,它包含请求头的第一行,并且不会被其他重写修改(不同于REQUEST_URI
和匹配的URL路径RewriteRule
指令)。
例如:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,7}\\s/post/tag/
RewriteRule ^ - [F]
THE_REQUEST
将包含以下格式的字符串:
GET /post/tag/example-here HTTP/1.1
仍不工作。。。然后确保没有自定义403
ErrorDocument
即通过WordPress路由请求。如果您自己没有定义任何内容,那么这仍然可以在服务器配置中定义(由您的主机),您可以在中使用以下命令将其重置为Apache默认值
.htaccess
:
ErrorDocument 403 default