我想更改我网站的域名。
我希望.htaccess以这样的方式将网址重定向到新域名:
当用户点击http://old-domain.com/my-site-link/
之类的网址时,它会重定向到http://new-domain.com/my-site-link/
以及当用户点击http://old-domain.com/my-site-link.php
之类的网址时,它会重定向到http://new-domain.com/my-site-link.php
使用新域名,旧域名不使用。
怎么可能?什么是.htaccess的代码?
答案 0 :(得分:0)
如果两个域位于同一帐户和相同的根文件夹中,则可以使用此文件:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?old-domain\.com$ [NC]
RewriteRule ^(.*)$ http://new-domain.com/$1 [R=301,QSA,L]
如果域位于不同的帐户或托管服务上,您可以将此规则简单地添加到旧域.htaccess
。
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ http://new-domain.com/$1 [R=301,QSA,L]
答案 1 :(得分:0)
在旧服务器中,将以下内容添加到.htaccess
。您不需要[QSA]
,因为您没有编写新查询。默认情况下启用[QSA]
。
RewriteEngine On
RewriteRule ^(.*)$ http://new-domain.com/$1 [R=301,L]
如果您在同一个VirtualHost下托管这两个网站,则意味着旧网站不是新网站的别名,您需要有条件检查旧网站的域名。
RewriteEngine On
RewriteCond %{HTTP_HOST} old-domain.com$
RewriteRule ^(.*)$ http://new-domain.com/$1 [R=301,L]
如果您不再使用旧域名,您仍应将其注册(与注册商一起注册),但将其设置为VirtualHost,您可以将顶级指令直接放入a httpd.conf
目录文件下的vhosts.conf
或conf.d
等服务器配置文件(如下所示)。如果您不管理服务器,通常可以在主机用户界面的后端执行此操作,或者通过提交支持服务单(取决于主机)。
<VirtualHost *:80>
DocumentRoot /path/old-domain.com
serverName old-domain.com
<Directory /path/old-domain.com>
RewriteEngine On
RewriteRule ^/?(.*)$ http://new-domain.com/$1 [R=301,L]
</Directory>
</VirtualHost>