我已经成功地禁止访问任何类型的作者页面/author/username/
或者?author={#id}
查询字符串。
我在htaccess文件的开头添加了以下内容:
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_URI} ^/author/
RewriteRule .* - [F]
RewriteCond %{QUERY_STRING} ^author=([0-9]*)
RewriteRule .* - [F]
</IfModule>
但是,当wordpress实际位于子目录中时,同样的方法不起作用。第一部分工作:
RewriteCond %{REQUEST_URI} ^/subdir/author/
RewriteRule .* - [F]
但无论我如何编辑第二部分/subdir/?author=1
带我去/subdir/usernumber1/
这是被禁止的,但这违背了它的全部目的。有什么想法吗?
Edit:
是的,我试图阻止显示用户名。在昨天的最后一刻,我想出了一个解决方案:
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_URI} ^/subdir/author/
RewriteRule .* - [F]
RewriteCond %{REQUEST_URI} ^/subdir/
RewriteCond %{QUERY_STRING} ^author=([0-9]*)
RewriteRule .* - [F]
</IfModule>
根据下面的答案,我可能会缩短它(对此我非常感谢)。是的,它被放置在子目录中。
第一个代码片段放在根目录中,但没有起作用(或者可能是我一路上尝试的一些解决方案实际上起作用了,但我已经缓存了指向作者页面的重定向,我不确定)。