Apacheredirect奇怪的行为

我有两个网站,一个是旧的,一个是新的。 我在旧网站中设置了redirect,指向新网站上的页面。 但是,我在某些redirect上看到了一些奇怪的行为。

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

<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我正在redirect到新的网站的path/car-finance/car-loan-comparison导致404。

出于某种原因,旧path将应用于redirect的域而不是redirect的path。

这是我在我的新网站的.htaccess中所拥有的:

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

任何想法非常赞赏,

使用重写日志logging选项来获取它正在做什么的一些详细的输出; 您将能够看到问题出在哪里,而且很可能是问题发生的原因:

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

 RewriteLog "/tmp/rewrite.log" RewriteLogLevel 9 

之后不要忘记closures它,否则会咀嚼磁盘空间并降低性能。