Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过.htaccess重定向URL?_.htaccess_Redirect - Fatal编程技术网

如何通过.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的代码是什么?如果两个域

我想更改我的网站的域名

我希望.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的代码是什么?

如果两个域位于同一帐户和同一根文件夹上,则可以使用以下代码:

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>