我有两个网站,一个是旧的,一个是新的。 我在旧网站中设置了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它,否则会咀嚼磁盘空间并降低性能。