我正在更改网站上的主域名,目前有两个域名作为服务器别名添加。
例如,这意味着我可以请求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
答案 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]
因此,旧站点的每个内容都将被定向到具有相同子文件夹或文件的新站点