如何301将domain2.com/subpage/重定向到domain1.com/subpage/?

时间:2016-05-11 22:41:02

标签: .htaccess redirect url-redirection http-status-code-301

我正在更改网站上的主域名,目前有两个域名作为服务器别名添加。

例如,这意味着我可以请求http:// domain1 .com / subpage /和http:// domain2 .com / subpage /并获取相同内容结果 - 服务器是相同的,所以它解析到同一个地方。

如何301将http://domain2.com/subpage/重定向到http://domain1.com/subpage/

我目前的.htaccess看起来像这样:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

我尝试了以下内容,但这只是让服务器“chrash”/使其无响应

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

# END WordPress

2 个答案:

答案 0 :(得分:1)

我最终使用以下内容作为我的用例:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^olddomain\.com$ [NC]
RewriteRule ^/?(.*) http://newddomain.com/$1 [R=301,L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

答案 1 :(得分:0)

将以下代码放在oldsite根目录.htaccess文件中:

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

因此,旧站点的每个内容都将被定向到具有相同子文件夹或文件的新站点