我需要在网站上的每个页面请求 - 200,404等 - 登陆网站上的固定页面,在这种情况下index_new.php
。
我尝试了其他SO和ServerFault的答案,并且我继续获得无限的重定向循环。
这是我在httpd.conf中的代码:
<VirtualHost *:80>
ServerName my.example.com
ServerAlias *.my.example.com
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/index_new.php
RewriteRule ^(.*)$ /index_new.php [R=301,L]
</VirtualHost>
备注:
.htaccess
文件为空index_new.php
”页面是静态的,没有PHP标题(“location:”)内部重定向等。答案 0 :(得分:0)
否定前瞻应该做,并且可以使用RedirectMatch而不是使用mod_rewrite轻松完成一行:
RedirectMatch permanent ^/(?!index_new.php).* /index_new.php
清除浏览器缓存和/或尝试curl -I http://my.example.com/wahtever
以确保其正常工作
为了理智,在virtualhost中指定documentroot和允许访问的目录条目(需要所有授予/允许所有,具体取决于版本),因为你没有使用.htaccess(顺便说一句恭喜!你是为数不多的做事之一从一开始),为了安全起见,将DocumentRoot的目录设置为“AllowOverride none”。