如何通过.htaccess重定向URL?
我想更改我的网站的域名 我希望.htaccess以如下方式将URL重定向到新域: 当用户点击像如何通过.htaccess重定向URL?,.htaccess,redirect,.htaccess,Redirect,我想更改我的网站的域名 我希望.htaccess以如下方式将URL重定向到新域: 当用户点击像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的代码是什么?如果两个域
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的代码是什么?如果两个域位于同一帐户和同一根文件夹上,则可以使用以下代码:
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]
在旧服务器中,将以下内容添加到
.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]
如果您不再使用旧域,您仍然应该保持它的注册(向您的注册器注册),但将它设置为,您可以将top指令直接放入a服务器配置文件中,如httpd.conf
或vhosts.conf
目录文件下的conf.d
(类似这样的内容)。如果您不管理服务器,通常可以在主机用户界面的后端或通过提交支持票证(取决于主机)来管理服务器
DocumentRoot/path/old-domain.com
serverName old-domain.com
重新启动发动机
重写规则^/?(*)$http://new-domain.com/$1[R=301,L]
使用新域,不使用旧域。@SanamMirza想澄清一下吗?如果未使用它,您希望如何重定向它?它需要托管或停放在允许您在其上使用.htaccess
的位置。我已更改了域名。而且URL在Google中仍然作为旧域进行索引。这就是我想要的原因code@SanamMirza我们了解到这一点,但如果您的旧域未托管或停放,并且您无法访问。htaccess您计划如何使用它重定向旧域?我可以将其停放或重定向到新域。新域已使用,旧域未使用。
<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>