Apache 重定向奇怪的行为

Apache 重定向奇怪的行为

我有两个网站,一个是旧网站,一个是新网站。我在旧网站中设置了重定向,以指向新网站上的页面。但是,我发现某些重定向的行为有些奇怪。

例如,我在旧网站的 .htaccess 中有以下重定向:

<IfModule mod_rewrite.c>
    RewriteEngine On

    Redirect 301 /car-finance/car-loan-comparison http://www.newsite.com/car-finance/car-finance-comparison
 </IfModule>

当我访问旧站点时,/car-finance/car-loan-comparison我被重定向到新站点,/car-finance/car-loan-comparison导致出现 404 错误。

由于某种原因,旧路径被应用于重定向中的域,而不是重定向路径。

这是我的新网站的 .htaccess 中的内容:

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{HTTP_HOST} ^newsite\.com$ [NC]
    RewriteRule ^(.*)$ http://www.newsite.com/$1 [L,R=301]
</IfModule>

任何想法都非常感谢,

答案1

使用重写日志选项来获取正在执行的操作的详细输出;您将能够看到问题出在哪里,并且很可能准确地了解发生问题的原因:

将这些添加到您的重写配置中:

RewriteLog "/tmp/rewrite.log"
RewriteLogLevel 9

不要忘记随后禁用它,否则您将占用大量磁盘空间并降低性能。

相关内容