0

我已经在我的客户以前的域中进行了 DNS 更改,所以现在所有类似于 ABCDEF.com 的 URL 现在都被翻译成 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]

但服务器喊出一个重定向循环。哪条规则最适合我的情况?

非常感谢您提前

4

1 回答 1

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]
于 2013-09-16T09:11:54.403 回答