我有两个网站,一个是旧网站,一个是新网站。我在旧网站中设置了重定向,以指向新网站上的页面。但是,我发现某些重定向的行为有些奇怪。
例如,我在旧网站的 .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
不要忘记随后禁用它,否则您将占用大量磁盘空间并降低性能。