13

我想为我的所有网址将http://olddomain.com重定向到 http://newdomain.com ..保持新域上的页面相同。我的意思是如下网址

http://olddomain.com/home/category/page.html
http://olddomain.com/home/mybook/page2.html
http://olddomain.com/login

should be 301 redirect to the new newdomain but same pages, like below

http://newdomain.com/home/category/page.html
http://newdomain.com/home/mybook/page2.html
http://newdomain.com/login

这就是我目前在我的 .htaccess 中所拥有的

RewriteEngine on
RewriteCond $1 !^(index\.php|img|public|robots\.txt) [NC]
RewriteRule ^(.*)$ /index.php?/$1 [L]

请帮助我干净利落地做这件事,并详细解释事情,因为我是这方面的新手。

也有人知道搜索引擎可能需要多长时间才能摆脱我的旧域的引用?我的意思是搜索查询中的旧域 url 应该被新域 url 替换……旧域应该远离搜索引擎。

4

4 回答 4

26

在 .htaccess 的开头添加以下代码 -

    RewriteEngine On

    # Redirect Entire Site to New Domain
    RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR]
    RewriteCond %{HTTP_HOST} ^another.olddomain.com$ [NC]
    RewriteRule ^(.*)$ http://newdomain.com/$1 [R=301,L]
于 2012-10-21T19:17:20.767 回答
7

简单得多:

Redirect 301 / http://newdomain.com/

用那一行替换您的 .htaccess 文件,或者如果您有权访问它,请将其放入旧域的 apache conf 文件中(我将其放在 DocumentRoot 指令之后)。

有关详细信息,请参阅使用 mod_rewrite 重定向和重新映射

于 2014-07-09T23:44:06.937 回答
1

我通常在旧网站的.htaccess中添加以下代码

#Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://newdomain.com/$1 [R=301,L]

上面的代码会将所有链接重定向到新域,您无需执行任何操作,每个链接和图像都会重定向到新域链接。除此之外,我们必须在您的网站移动时通知 Google

如果您已将网站移至新域,则可以使用更改地址工具向 Google 告知您的新网址。我们将更新索引以反映您的新网址。更改将在 180 天内有效,届时我们将抓取您的新网址中的网页并将其编入索引。这是此https://support.google.com/webmasters/answer/83106?hl=en的链接

我已经为 2 到 3 个站点完成了此操作,也没有丢失 seo。它确实有效。谢谢

于 2014-04-14T15:16:18.717 回答
0

试图做

LoadModule rewrite_module modules/mod_rewrite.so
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^localhost$ [NC]
  RewriteRule ^(.*)$ http://newdomain.com/$1 [R=301,L]
</IfModule>

但没有按应有的方式工作,只是试图将我的 localhost 指向 newdomain.com。

但是当我点击 localhost 时它仍然没有指向。

于 2013-10-17T17:51:50.893 回答