我知道这将是一个非常基本的东西,但我已经浪费了足够的时间来摆弄它。
现在有一个旧的垃圾网站,所以当它正在进行开发时,我希望它上面的所有页面都重定向到我制作的under_construction.htm页面。
我已经在我的.htaccess文件和我的httpd.conf中尝试了以下2条规则的各种版本(我知道这两个规则正在听取'因为我有其他规则,如ServerAlias / caching等。设置,他们工作正常)。
<Directory "home/xxxx/test">
AllowOverride All
Options None
Order allow,deny
Allow from all
</Directory>
<VirtualHost *:80>
DocumentRoot /home/xxxx/test
ServerName www.test.com
ServerAlias test.com
Redirect 301 / http://www.test.com/under_construction.htm
</VirtualHost>
和: -
RewriteEngine On
RewriteCond %{REQUEST_URI} !=/under_construction.htm
RewriteRule ^ /under_construction.htm [R=301]
这两个都导致我在主页上获得一个apache测试页面,在所有其他页面(包括构建页面)上获得404,或者由于重定向过多而导致浏览器错误。
请有人纠正我的愚蠢!
提前致谢
答案 0 :(得分:0)
将以下代码放在主目录.htaccess文件中:
RewriteEngine on
RewriteRule (.*)$ path/to/under_construction.htm
确保编写路径而不从主目录开始/和路径启动,例如,如果您位于www目录和under_construction.htm中 路径就像这个www / folder / folder / folder / under_construction.htm 所以在写入时.Htaccess写这样的路径
RewriteRule (.*)$ folder/folder/folder/under_construction.htm
没有/在路径之前,它会毫无问题地工作,并将所有内容重定向到under_construction.htm,除非你有一些子委员会.htaccess规则覆盖它。