当我的网站处于维护模式时,我使用我的.htaccess文件将任何访问者重定向到指定的维护页面。
代码工作得非常好,但我不想在地址栏中显示维护页面的路径,而是希望显示我的域名。因此,当访问者被重定向时,不是在地址栏中显示“www.mysite.com/maintenance.html”,而是希望显示“www.mysite.com”。这可能吗?
我正在使用的代码:
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^[my ip address]
RewriteCond %{REQUEST_FILENAME} !.css$
RewriteCond %{REQUEST_FILENAME} !.png$
RewriteCond %{REQUEST_FILENAME} !.jpg$
RewriteCond %{REQUEST_FILENAME} !.gif$
RewriteCond %{REQUEST_FILENAME} !.js$
RewriteRule $ /maintenance.html [R=302,L]
答案 0 :(得分:0)
说得太快了。它只能部分工作:当我尝试访问任何其他页面而不是域索引时,我被重定向到维护页面,但是“维护不足”图像和css没有出现。我只是在空白的白页上找到了没有样式的文字。
看起来你想要做几件事。
所以我们需要分别解决这两件事:
# for #1
RewriteCond %{REQUEST_URI} !^/$
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^[my ip address]
RewriteCond %{REQUEST_FILENAME} !.css$
RewriteCond %{REQUEST_FILENAME} !.png$
RewriteCond %{REQUEST_FILENAME} !.jpg$
RewriteCond %{REQUEST_FILENAME} !.gif$
RewriteCond %{REQUEST_FILENAME} !.js$
RewriteRule $ / [R=302,L]
# for #2
RewriteCond %{REMOTE_ADDR} !^[my ip address]
RewriteRule ^$ /maintenance.html