我有一个网站,它是我们设计的系统的后端。通常,我们会去不同的场所,通过互联网连接后端系统并继续运行。
我们现在必须去一个场地,那里实际上是一片田野,根本没有互联网接入。我已经在本地机器上运行了系统,没有问题,但我想让互联网上的主站点对用户不可用,但给他们一条消息告诉他们发生了什么。
目前我在根目录中有一个 .htaccess:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteRule ^(.+)$ http://www.example.com/offline.php [R,L]
哪一半可以工作,但是浏览器不喜欢它:
Firefox 检测到服务器正在以永远无法完成的方式重定向此地址的请求。
总结一下,我想要任何输入的 URL:
http://www.example.com/
http://www.example.com/dir1/
http://www.example.com/dir1/?area=value
etc.
最终
http://www.example.com/offline.php
有任何想法吗?
谢谢,凯文
答案1
简而言之,您的重写规则需要 offline.php 的排除参数。否则,它会尝试重定向该域中的所有页面,包括 offline.php - 因此 Firefox 会警告您出现无限循环。
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/offline\.php$
RewriteRule ^(.*)$ http://www.example.com/offline.php [L,NC,R=301]
有关详细信息,请参阅“.htaccess 和 mod_rewrite(重定向)解释“。
将所有页面重定向至一个页面:
当您需要关闭网站(永久关闭或维护)并将所有页面的流量发送到解释当前情况的特殊页面时,此特殊重写非常有用。此示例从重定向中排除样式表、jpg 和 gif 图像,因此您仍然可以在特殊页面上使用我们的“外观和感觉”。请参阅我的Mod_rewite 将网站所有页面重定向至一个发布有关此内容的更多内容。