.htaccess 301从旧域重定向到新域,而页面和URL的结构相同

asm*_*234 13 apache .htaccess mod-rewrite seo redirect

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

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
Run Code Online (Sandbox Code Playgroud)

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

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

因为我是新手,所以请帮我干净利落地详细解释.

也有人知道搜索引擎可能需要花多少时间才能远离我的olddomain的引用?我的意思是搜索查询中的旧域网址应该被新域网址替换...旧域名应该远离搜索引擎.

Par*_*ram 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]
Run Code Online (Sandbox Code Playgroud)


use*_*345 7

更简单:

Redirect 301 / http://newdomain.com/
Run Code Online (Sandbox Code Playgroud)

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

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