返回列表 发帖

同一网站的多个域名重新定向

本帖最后由 hongwang777 于 2011-11-5 14:56 编辑

前面一个帖子谈到谷歌搜索的困惑。据说修改.htaccess文件,可以将同一网站的两个域名重新定向。比如网站同时有两个域名,A,B。数据库信息是B,但引擎却搜索A.为了规范引擎的抓取,让他只抓取B。
比如将A定向到B   (网上搜索的)
RewriteEngine On
RewriteBase /        (这句不清楚 )
RewriteCond %{HTTP_HOST} !A.com$ [NC]
RewriteRule ^(.*)$ http://B.com/$1 [L,R=301]
不知道是否这样修改?
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
南师附中老三届
hongwang777@gmail.com

.htaccess修改

本帖最后由 hongwang777 于 2011-11-3 11:30 编辑

#
# Uncomment the statement below if you want to make use of
# HTTP authentication and it does not already work.
# This could be required if you are for example using PHP via Apache CGI.
#
#<IfModule mod_rewrite.c>
#RewriteEngine on
“RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !nsfz2.sourceforge.net$ [NC]
RewriteRule ^(.*)$ http://nsfz3.tk/$1 [L,R=301]”
#RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#</IfModule>

<Files "config.php">
Order Allow,Deny
Deny from All
</Files>

<Files "common.php">
Order Allow,Deny
Deny from All
</Files>

“” 内为修改的内容。
南师附中老三届
hongwang777@gmail.com

TOP

回复 5# wodo


    谢谢回复。
你说的情况假设为1
无论在wordpress还是论坛的数据库,都有两处有关domain域名的设置。如果网站有两个域名A和B,那么数据库必须选择其中之一。我说的A和B就是这个意思。
你说的情况1的场合下,似乎存在数据库domain的设置是A还是B的区别。 .htaccess文件不能更改数据库设置。

我的情况略有不同,假设为2
网站两个域名不是www之区分。据说一定要使用

#设定重写url的起始位置为 /
RewriteBase /  

这个语句什么场合一定需要,情况1的数据库doamin域名设置为A,B的不同情况下是否也需要。我还没有弄清楚。
南师附中老三届
hongwang777@gmail.com

TOP

本帖最后由 hongwang777 于 2011-11-3 16:22 编辑

回复 8# wodo

可能越说越糊涂。本意请看最初的帖子。你的办法是指同一网站带www的与不带www的域名,统一到一个域名,让引擎抓取。语句中使用了“^”符号。
我的情况虽然不同于www有无,却也是同一网站不同域名,让引擎抓取一致的问题。上面我尝试了另一个方法,实际上是(后台)更换了域名的方法,因而语句并没有使用“^”符号。A(比如带www)还是B(不带www)也有个后台设置问题。我是考虑到后台设置同htaccess语句选择的关系,才提到A,B的 。一般网上查到有4种重定向选择。当然要选择究竟哪一种适合自己的情况。你说的是第1,第2种,我上面提到的是第4种情况。如果能够排除4,当然是选择1,2了。你可以网上查询一下。
南师附中老三届
hongwang777@gmail.com

TOP

最终方案

本帖最后由 hongwang777 于 2011-11-5 14:45 编辑

我的sf空间phpBB论坛有主域名http://nsfz3.tk以及空间给的二级域名 http://nsfz2.sf.net  要让搜索引擎不再抓取sf域名,tk域名的信息。使用了新的波兰二级域名
http://nsfz2.bee.pl   使用.htaccess301重定向pl域名如下:
#RewriteEngine on
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^nsfz2.bee.pl$ [NC] # 表示条件,如果访问的链接中主机名不是 nsfz2.bee.pl 则执行下面一句跳转
RewriteRule ^(.*)$ http://nsfz2.bee.pl/$1 [L,R=301] # 如果满足上面的条件,则永久跳转到该地址。注意sf的二级域名以及原来的主域名tk没有出现在语句中。
当然在此修改之前,phpBB论坛后台(数据库)更改了cookie_domain以及server_name为pl域名。
执行上述修改后,尽管眼下pl域名在搜索中还没有信息,但tk,sf的原有收录,都已经指向pl域名。可以说是立竿见影。
南师附中老三届
hongwang777@gmail.com

TOP

返回列表