分享

写回答

发帖

[提问] Godaddy Deluxe Linux URL转发

回答|共 22 个

laofo

发表于 2009-9-15 11:05:18 | 显示全部楼层

回复 10# 的帖子

为了清楚的说明问题,我就直接用我自己域名说了,不是广告啊,只是为了能清楚的说明问题:

根目录/ 对应的是http://www.scmroad.com
/discuz 目录对应的是http://bbs.scmroad.com

起初:我把 www.cmroad.com也绑定到 /discuz的目录下,结果我在百度和google的搜索结果中看到很多类似下面链接的文章:
http://www.cmroad.com/viewthread.php?tid=2458

我发现这是个问题,然后我就想在Godaddy的域名控制面板里设置转向,没有成功。然后我就把cmroad.com的域名指向了我自己的IP地址,然后就想利用 .htaccess 文件进行控制

根目录下.htaccess 文件可能有关 cmroad 的部分是这样写的
redirect 301 /discuz http://bbs.scmroad.com

/discuz目录下是有关cmroad部分这样写的:
RewriteEngine on
......
RewriteCond %{HTTP_HOST} ^www\.cmroad\.com$ [NC]
RewriteRule ^(.*)$ http://bbs.scmroad.com/$1 [L,R=301]

但是现在目前情况是
www.cmroad.com打不开
类似:http://www.cmroad.com/viewthread.php?tid=2458 的页面也打不开

我目前的想法是:
如果不能把 http://www.cmroad.com/viewthread.php?tid=2458 转到http://bbs.scmroad.com/viewthread.php?tid=2458
那么转到 http://bbs.scmroad.com也能接受

请帮忙诊断,谢谢。

add.c

发表于 2009-9-15 11:30:06 | 显示全部楼层

在根目录创建.htaccess写如下内容
RewriteEngine On
RewriteRule ^(.*)$ http://bbs.scmroad.com/ [R=301,L]

这样不行?

laofo

发表于 2009-9-15 12:36:48 | 显示全部楼层

回复 12# 的帖子

哪个跟目录?
是/ ?
还是bbs的根目录/discuz?

laofo

发表于 2009-9-15 12:48:48 | 显示全部楼层

如果/discuz 目录下的htaccess写成下边那个样子,

RewriteEngine on

RewriteBase /discuz

RewriteRule ^archiver/((fid|tid)-[\w\-]+\.html)$ archiver/index.php?$1
RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2
RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&extra=page\%3D$3&page=$2
RewriteRule ^space-(username|uid)-(.+)\.html$ space.php?$1=$2
RewriteRule ^tag-(.+)\.html$ tag.php?name=$1

RewriteRule ^(.*)$ http://bbs.scmroad.com/ [R=301,L]

就会报下面的错误。

此网页有重定向循环。
http://bbs.scmroad.com/?fid=4&page=8 的网页生成了过多的重定向。 清除此网站的 Cookie 可能能够修正问题。 如果不能,可能是服务器配置有问题,而不是您的计算机的问题。

以下是一些建议:
以后重新加载此网页。
详细了解此问题。
有关此错误的更多信息

add.c

发表于 2009-9-15 13:41:17 | 显示全部楼层

回复 13# 的帖子

/

haorujia

发表于 2009-9-15 14:42:57 | 显示全部楼层

成功了么?

laofo

发表于 2009-9-15 15:28:15 | 显示全部楼层

回复 16# 的帖子

没有成功
RewriteRule ^(.*)$ http://bbs.scmroad.com/ [R=301,L]

加到/.htaccess文件中以后,部分内容如下:

redirect 301 /discuz http://bbs.scmroad.com
redirect 301 /xxx http://xxx.scmroad.com

RewriteEngine on
RewriteRule ^(.*)$ http://bbs.scmroad.com/ [R=301,L]

而实际上
http://www.cmroad.com
http://cmroad.com
http://www.cmroad.com/viewthread.php?tid=2458
都可以打开,但是都没有重定向到
http://bbs.scmroad.com
或者:http://bbs.scmroad.com/viewthread.php?tid=2458

add.c

发表于 2009-9-15 15:37:41 | 显示全部楼层

加到/.htaccess文件中以后,部分内容如下:redirect 301 /discuz http://bbs.scmroad.comredirect 301 /xxx http://xxx.scmroad.comRewriteEngine onRewriteRule ^(.*)$ http://bbs.scmroad.com/ [R=301,L]
你写这么多干嘛只要这句RewriteEngine onRewriteRule ^(.*)$ http://bbs.scmroad.com/ [R=301,L]

laofo

发表于 2009-9-15 17:34:25 | 显示全部楼层

redirect 301 /discuz http://bbs.scmroad.com
写这一句的目的是把类似
http://www.scmroad.com/discuz/viewthread.php?tid=1996
转成
http://bbs.scmroad.com/viewthread.php?tid=1996
去掉了这句,那么通过http://www.scmroad.com/discuz/viewthread.php?tid=1996就可以访问了。我期望的是都出现
http://bbs.scmroad.com的地址


而redirect 301 /xxx http://xxx.scmroad.com
(xxx实际上代表的是wiki)

我试验了下,即便删掉redirect 301 /discuz http://bbs.scmroad.com 也是不行的。cmroad.com还是可以直接访问,而不是指向http://bbs.scmroad.com

大漠孤狼

发表于 2009-9-15 18:13:59 | 显示全部楼层

redirect 301 / http://bbs.scmroad.com   放到 www.scmroad.com 目录看看
如果两个目录相同就不能用这种,只能用rewrite
您需要登录后才可以回帖 登录 | 注册

本版积分规则