如何利用.htaccess多域名指向一个主域名?

如何利用.htaccess多域名指向一个主域名?,第1张

你说的这个是可以实现的 多域名指向一个主域名 就是用301重定向

301重定向:

页面永久性移走(301重定向)是一种非常重要的“自动转向”技术。

从搜索引擎优化角度出发,301重定向是网址重定向最为可行的一种办法。当网站的域名发生变更后,搜索引擎只对新网址进行索引,同时又会把旧地址下原有的外部链接如数转移到新地址下,从而不会让网站的排名因为网址变更而收到丝毫影响。同样,在使用301永久性重定向命令让多个域名指向网站主域时,亦不会对网站的排名产生任何负面影响。

如何用.htaccess重定向:

因为不是所有的虚拟主机都支持这种操作,所以也有以下的条件才会支持。

1、linux的虚拟主机Apache的服务器,需要支持.htaccess 这个文件。(咨询主机商是否支持)如果支持,则先2个域名都解析到同一个IP,然后在.htaccess文件开始处加入一下规则:

代码

RewriteCond %{http_host} ^AAA.com [NC]

RewriteRule ^(.*)$ http://www.AAA.com/$1 [R=301.L]

须注意的就是:.htaccess这个文件基本在传到本地是不能直接被修改的,我们可以采用修改成.htaccess.txt的形式来进行访问编 辑,把要写的代码写好之后,直接把.htaccess.txt传上空间,再把.htaccess.txt直接用FTP修改成.htaccess文件名,这 样就可以升效啦!

2、window的虚拟主机IIS的服务器,需要有安装 ISAPI_Rewrite这个组件。(咨询主机商是否支持)如果支持,则先2个域名都解析到同一个IP,然后在httpd.ini文件开始处加入以下规则:

代码:

RewriteCond Host:^AAA\.com$

RewriteRule (.*) http\://www\.AAA\.com$1 [R,I]

如果采用以上代码不可行,请你尝试下这个代码:

代码:

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteCond Host: ^hongtaoseo\.com$

RewriteRule (.*) http\://www\.hongtaoseo\.com$1 [I,RP]

对于大部分虚拟主机是不支持这样的操作,那么这时候怎么办?

以上301重定向的操作方式并非是必须的,如果主机不支持,采用以下的方式也是同样可以达到效果。

1、如果是全新的域名和网站,也就是没带www的域名暂时没有被收录,那么可以采用没带www的域名转发到带www的域名上。在域名管理后台设置转发,国内的一些域名商也不允许转发了。

2、如果网站已经存在一段时间,没带www的域名也被收录了很多页面,则采用带www和不带www的域名同时解析到网站的IP。然后,网站的主导航,分类,或次导航等一些比较重要的位置,尽可能采用带www的绝对地址。

总结:因为人们的上网习惯 主要主域名也是带WWW的把不带WWW的和其他的多个域名可以转向到主域名之中。

1、首先你得有个独立控制空间账号

2、输入以下网址登陆

3、登陆成功后,就在首页可以看到一个301转向,点击进入

4、如图所示,按住ctrl可以选择多个域名,选择后,下方就会出现对应的代码,复制后粘贴在.htaccess文件内就完成了。

Wordpress的两个301重定向方法

1.比较简单的域名301重定向:即将A定向到B 以下为引用的内容:

$the_host = $_SERVER['HTTP_HOST']//取得当前域名

if($the_host != 'www.bluefate.org')//判断获取的这个域名是不是你想要的(即定向后的域名)

{

header("HTTP/1.1 301 Moved Permanently")//发出301头部

header("Location:域名) //跳转到你希望的域名exit()

}

 将上面的代码放入到根目录的index.php的最开始的地方就行了,实现的效果是原域名下的所有地址都将转跳到新域名的首页。

2.另一种比较麻烦一点,不过效果会好一点:

他可以将原域名下的所有链接地址定向到对应新域名的地址,即:域名变化,但是参数不变的。代码如下:

以下为引用的内容:

$the_host = $_SERVER['HTTP_HOST']//取得当前域名

if(strtolower($the_host) != 'www.bluefate.org')//把这里的域名换上你想要的

{ $URIRedirect=$_SERVER['REQUEST_URI']//获取域名后的参数

if(strtolower($URIRedirect)=="/index.php")//判断是参数为/index.php就显示为/

{

$URIRedirect="/"

}

header("HTTP/1.1 301 Moved Permanently")//发出301头部

header("Location: 你希望的地址格式")跳转到你希望的地址格式

exit()

}

以上两种方法,不仅适合wordpress的程序,一般PHP程序都可以使用的。写到这里其实我的博客的301已经做好了,我用的是第二种。下面的一种方法,有兴趣的也可以研究一下啦。

3

在linux并且支持rewrite就可以通过.htaccess来设置了,代码如下:

以下为引用的内容:

以下为引用的内容:

# BEGIN WordPress

<IfModule mod_rewrite.c>

Options +FollowSymLinks

RewriteEngine on

rewritecond %{http_host} ^www.a.com[nc]

rewriterule ^(.*)$ http://www.b.com/$1 [L,R=301]

</IfModule>

# END


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/100964.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-09
下一篇2023-03-09

发表评论

登录后才能评论

评论列表(0条)

    保存