我在我的客户端以前的域名中进行了DNS更改,所以现在所有像ABCDEF.com这样的网址现已翻译成UVWXYZ.com,但我的客户希望保留每个链接到他的页面,我就是通过htaccess和mod_rewrite做一套好的301重定向。所以现在我的.htaccess看起来像这样:
RewriteEngine On
RewriteBase /
RewriteRule ^list.aspx?i=5$ list.php [R=301,L]
RewriteRule ^cat.aspx?i=1$ printers.php [R=301,L]
RewriteRule ^cat.aspx?i=3$ multi.php [R=301,L]
在这一刻,当我进入ABCDEF.com/list.aspx时,我的浏览器加载了UVWXYZ.com/list.php(以及其他示例),但我的客户想要将任何其他页面重定向到主页。换句话说,当我输入ABCDEF.com/downloads.aspx时,我的浏览器必须加载UVWXYZ.com。
我尝试过像
这样的规则RewriteRule (.*) index.php [R=301,L]
但是服务器会喊出一个重定向循环。哪条规则最适合我的情况?
非常感谢您提前
答案 0 :(得分:3)
您可以尝试以下方法之一:
FallbackResource /index.php
或者:
ErrorDocument 404 /index.php
或者仅使用mod_rewrite(在htaccess文件的最后):
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^ /index.php [L,R=301]