Board logo

标题: 同一网站的多个域名重新定向 [打印本页]

作者: hongwang777    时间: 2011-11-2 15:18     标题: 同一网站的多个域名重新定向

本帖最后由 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]
不知道是否这样修改?
作者: hongwang777    时间: 2011-11-2 16:12     标题: .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>

“” 内为修改的内容。
作者: wodo    时间: 2011-11-3 01:23

一般这么写,拿顶级域名转www举例
  1. RewriteEngine on
  2. RewriteCond %{HTTP_HOST} ^idc866.com$
  3. RewriteRule ^(.*)$ "http\:\/\/www\.idc886\.com\/$1" [R=301,L]
复制代码

作者: wodo    时间: 2011-11-3 01:27

不明白你说的是什么,“数据库信息是B”是什么意思~A是什么?
作者: idc886    时间: 2011-11-3 10:11

回复 4# wodo


    还是这实例清楚


楼主 我站 搜索  404  还有更多的 301实用方式。
作者: idc886    时间: 2011-11-3 11:46

回复 7# hongwang777
楼主的问题经常很古怪,,经常把简单考虑成复杂



    WP博 直接改数据库里的域名地址不就得了.. 这是必需的..


    WP博 换域名必需这么做的.

其它的程序,或许直接在后台改域名地址即可.
作者: hongwang777    时间: 2011-11-3 12:47

回复 5# wodo


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

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

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

这个语句什么场合一定需要,情况1的数据库doamin域名设置为A,B的不同情况下是否也需要。我还没有弄清楚。
作者: wodo    时间: 2011-11-3 15:00

回复 8# hongwang777

真是奇怪,你表达出来的这些东西理解起来非常困难。
你的站是博客加论坛?什么程序?域名是什么?
如果是换域名的话就直接做301转向即可,还要搞什么乱七八糟数据库域名什么的?
如果程序需要给一个路径,这应该是在你程序后台执行的,你用什么域名就写什么路径,连接上就行了,怎会如此复杂。
作者: hongwang777    时间: 2011-11-3 16:12

本帖最后由 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了。你可以网上查询一下。
作者: idc886    时间: 2011-11-3 16:40

回复 9# hongwang777


    呵呵,,带WWW与不带WWW的,,本来就是两个域名.意思是一样的.

wp博客里,你不去数据库里修改域名绝对路径的话,
你再怎么301转,他网站里的地址都将显示原来域名的地址.

wp博,必需直接修改数据库里的域名地址才可以的.
(如你旧域名与新域名都能访问的话,直接在后台就可以改这域名地址)

一般的程序,都不是使用绝对域名路径的.
作者: hongwang777    时间: 2011-11-3 17:04     标题: 最终方案

本帖最后由 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域名。可以说是立竿见影。




欢迎光临 免费国外空间,国外免费空间, (http://idc866.com/) Powered by Discuz! 7.2