[英]Why doesn't my .htaccess file redirect properly?
这是我的代码:
Header set Cache-Control "max-age=0, private, no-store, no-cache, must-revalidate"
RewriteEngine on
RewriteCond %{REQUEST_URI} !(admin)
RewriteRule !maintenance\.php$ /maintenance.php [R=301,L]
我想将网站上的所有流量都重定向到maintenance.php,但对/ admin中文件的任何请求除外。 我已经尝试了很多组合,但这些组合永远都无效。 无论如何,它总是重定向。 我不知道是什么原因造成的。
更新:我想通了一些东西。 如果我将admin文件夹中的.htaccess注释掉,则Ben的代码有效。 这里是代码:
AuthType Basic
AuthName "Restricted area"
AuthUserFile "/home1/user/.htpasswds/public_html/example/admin/passwd"
require valid-user
我可以对这个.htaccess文件做些什么才能使其工作?
不要为此目的使用永久重定向R=301
,因为您的网站不是永久维护的站点。 仅使用临时重定向R=302
,否则即使您删除此规则,您的用户也将始终看到维护页面,因为R=301
被浏览器缓存。
%{REQUEST_URI}
以/
开头。
RewriteCond %{REQUEST_URI} !^/admin
RewriteCond %{REQUEST_URI} !^/maintenance.php$
RewriteRule ^ /maintenance.php [R=302,L]
为什么不在.htaccess中使用此行DirectoryIndex maintenance.php
来重定向到此页面。 您的网站已经准备好了,您可以通过注释上面的行来删除维护模式
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.