Apache 使用RewriteRule[R=404]隐藏文件夹会产生无止境的重定向循环
我试图用这段漂亮的代码隐藏我的wp admin文件夹,但问题是如果我的用户代理中没有“XYZ”,它就会陷入infinte重定向循环中:Apache 使用RewriteRule[R=404]隐藏文件夹会产生无止境的重定向循环,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我试图用这段漂亮的代码隐藏我的wp admin文件夹,但问题是如果我的用户代理中没有“XYZ”,它就会陷入infinte重定向循环中: <ifModule mod_rewrite.c> RewriteEngine On RewriteBase / # Make wp-admin folder only visible to browsers with "XYZ" in the User Agent: RewriteCond %{HTTP_USER_AGENT} !XYZ R
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# Make wp-admin folder only visible to browsers with "XYZ" in the User Agent:
RewriteCond %{HTTP_USER_AGENT} !XYZ
RewriteRule ^(.*)$ - [R=404,L]
</ifModule>
您必须将用户发送到当前目录之外。我会将规则移动到站点的根目录,如下所示:
# Keep user out of your error document folder as well
RedirectMatch 404 /errordocs
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# Make wp-admin folder only visible to browsers with "XYZ" in the User Agent:
RewriteCond %{HTTP_USER_AGENT} !XYZ
RewriteRule ^wp-config/(.*)$ errordocs/404.html [L]
</ifModule>
#也不要让用户进入错误文档文件夹
重定向匹配404/errordocs
重新启动发动机
重写基/
#使wp admin文件夹仅对用户代理中带有“XYZ”的浏览器可见:
RewriteCond%{HTTP\u USER\u AGENT}!XYZ
重写规则^wp config/(.*)$errordocs/404.html[L]
这样,您可以将用户重定向到另一个文件夹。否则,当您尝试从文件夹中重定向用户时,会出现循环和其他问题。R标志重定向取决于替换URL。?什么是
XYZ
,您确定该参数不适用于所有代理吗?这不完全是您想要的,但您可以使用[F]
标志来禁止页面。您需要将用户发送到当前文件夹之外。你的404错误文档在哪里?Gerben:是的,403刚刚确认他们找到了正确的路径。Wige:是/wp content/themes/xyz/404.php谢谢你的Wige。这听起来很合理。我试试看。
# Keep user out of your error document folder as well
RedirectMatch 404 /errordocs
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# Make wp-admin folder only visible to browsers with "XYZ" in the User Agent:
RewriteCond %{HTTP_USER_AGENT} !XYZ
RewriteRule ^wp-config/(.*)$ errordocs/404.html [L]
</ifModule>