我喜欢Chris\\u O的想法,但我制作了自己的版本,这样更安全。
所以,我所做的只是将文件夹添加到异常中,所以如果您的请求是从这些行开始的,那么它肯定不是有效的永久链接。大多数请求来自试图检查这些文件夹内容是否存在漏洞的机器人程序。它们将被有效过滤,如果需要,您可以显示一些小的静态404页面。
其他请求仍将由wordpress处理,如果有人输入了错误的地址,它将在模板中显示一条用户友好的未找到消息。Chris\\u O的解决方案只适用于看起来像文件扩展名的请求,否则它们也将由wordpress处理。
为了使其更加可靠,您可以检索原始访问文件并搜索404错误。如果您注意到许多以特定行开头的请求,您还可以将它们包括在此筛选器中:
#adding your own handler
ErrorDocument 404 /404/index.html
<IfModule mod_rewrite.c>
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_URI} !^/(404|cgi-bin|wp-admin|wp-content|wp-includes)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>