.htaccess重写网址问题

时间:2012-01-25 14:08:43

标签: .htaccess redirect url-rewriting

我最近在www.andrewalaniz.com上有一个博客,我已将其移至我的新商业网站www.effectusdigital.com上的博客中。

博客是在blogspot上托管的,所以为了方便起见,我移动了DNS指向我的托管帐户,并计划通过mod重写和重定向来处理所有内容。

如果你去www.andrewalaniz.com它正确地重定向(我原本希望它重定向到/ blog,但由于我有重复的内容问题,我改了它)

问题是谷歌已经为effectusdigital.com和andrewalaniz.com索引了我的一些网页。例如,如果您访问它所在的www.andrewalaniz.com/contact,则不会重写该网址。

这是我的htaccess文件的样子(我已经尝试了一些代码流失的变体): 此外,我在这里要做的唯一事情就是将andrewalaniz.com重写为effectusdigital.com并返回301. URI被处理。

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.andrewalaniz.com$ [OR]
RewriteCond %{HTTP_HOST} ^andrewalaniz.com$
RewriteRule ^(.*)$ http://www.effectusdigital.com/$1 [R=301]

任何建议都会有所帮助。

2 个答案:

答案 0 :(得分:0)

首先我想到的是:您忘记了“QSA”和“L”指令,并且您可以将过滤器应用于一行而不是两行:

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ((.*)\.)andrewalaniz.com$
RewriteRule (.*) http://www.effectusdigital.com/$1 [R=301,QSA,L]

完成此操作后,Google会看到有明确的重定向,并会相应更改其网页结果。

这正是我的旧网站http://olivier.pons.free.fr发生的事情,现在是http://olivierpons.fr。谷歌花了10天的时间来“正确”注册这个变化,但它就像一个魅力。

编辑:如果不起作用,请尝试:

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ((.*)\.)andrewalaniz.com$
RewriteRule (.*) http://www.effectusdigital.com$1 [R=301,QSA,L]

答案 1 :(得分:0)

假设这是在你的.htaccess中,你需要在/之前$1

添加L将确保此规则后处理停止。

下面是一个更简洁的版本,可以做同样的事情

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST}  andrewalaniz.com$ 
RewriteRule ^ http://www.effectusdigital.com%{REQUEST_URI} [R=301,L]