koslq 发表于 2013-9-18 10:50:41

刚接触301重定向的新人 想问下怎么做单页面和批量页面的重定向

目前网站用的是discuzX3.0
我希望把论坛的页面 http://www.XXX.com/forum.php
定向到域名:http://BBS.XXX.com
然后把其它的论坛页面:http://www.XXX.com/forum.php?mod=viewthread&tid=***
定向到:http://bbs.XXX.com/forum.php?mod=viewthread&tid=***

我试着按照
LNMP下Nginx如何设置域名301重定向http://lnmp.org/faq/lnmp-nginx-301-rewrite.html
这篇文章修改网站的conf文件
添加了这段
server {
server_name www.XXX.com/forum.php;
return 301 $scheme://bbs.XXX.com$request_uri;
}

重启nginx 提示:
estarting nginx daemon: nginxnginx: server name "www.XXX.com/forum.php"
has suspicious symbols in /usr/local/nginx/conf/vhost/www.XXX.com.conf:32


希望有人能说明一下怎么做单页面或者批量页面的重定向

licess 发表于 2013-9-18 13:11:12

server_name是域名,你输错了

discuzx论坛的forum.php 重定向好像是在论坛后台上设置

http://www.XXX.com/forum.php?mod=viewthread&tid=***
定向到:http://bbs.XXX.com/forum.php?mod=viewthread&tid=*** 前面的301配置就行

koslq 发表于 2013-9-18 13:43:48

回复 2# 的帖子

哦哦
只需要按照系统的设置调好了就行是么?
站点做的时间挺久的 论坛的forum.php页面有些权重
看了一些资料说做301可以传递页面权重
就想通过301先把单页面的权重传递到bbs.的域名上

licess 发表于 2013-9-18 14:29:58

回复 3# 的帖子

用过一次好像是这个disucz后台上就可以设置

408904199 发表于 2013-9-19 23:21:52

回复 1# 的帖子

这个是在discuzx 的后台里面的域名设置里面设置

如果你用的是:www.xxx.com 那么默认域名那里就填写 www.xxx.com就行了。
如果你用的是:xxx.com,那么默认域名哪里就填写xxx.com就行了。

为了保险起见,你最好现做301跳转,有助于SEO,比如xxx.com跳转到www.xxx.com,然后再到discuzx后台域名设置那里把默认域名设置为:www.xxx.com就OK了。就可以把forum.php 去掉了

如果你301是xxx.com,那么默认域名那里就填写xxx.com。

有些人使用了子域名,这个具体要看你的域名和论坛是怎么解析,怎么做的。

[ 本帖最后由 408904199 于 2013-9-19 23:23 编辑 ]

koslq 发表于 2013-9-21 11:19:52

回复 4# 的帖子

server {
server_name www.XXX.com;
return 301www.XXX.com/forum.php(.*)$scheme://bbs.XXX.com$request_uri;
}
这种写法可行么?
【先不提discuz本身的设置 仅从运行环境角度考虑】

server {
server_name www.XXX.com;
return 301 $scheme://bbs.XXX.com$request_uri;
}
我查了些资料 这种写法的应该是把:www.xxx.com 的所有访问地址都转向到bbs.xxx.com

我只是想把www.xxx.com的部分地址转向到bbs.xxx.com
如转向到
怎么才能实现这种效果呢

同样还找有另一种写法不知道是否可行:
location www.XXX.com
{rewrite www.XXX.com/forum.php(.*)$ http://bbs.XXX.com/$request_uri permanent;}

location www.XXX.com
{rewrite www.XXX.com/forum.php$ http://bbs.XXX.com/ permanent;}

[ 本帖最后由 koslq 于 2013-9-21 11:23 编辑 ]

koslq 发表于 2013-9-21 11:21:28

回复 5# 的帖子

你好 我是想把www.域中的部分内容转到bbs.域
如果是单纯换域名的话我想也就没这么麻烦了...:Q

licess 发表于 2013-9-21 14:36:45

回复 6# 的帖子

不行,retrun 不能这么用,http://wiki.nginx.org/HttpRewriteModule#return

用rewrite可以

这样试试
rewrite www.XXX.com/forum.php http://bbs.XXX.com permanent;
return 301 $scheme://bbs.XXX.com$request_uri;

koslq 发表于 2013-9-26 13:49:50

回复 8# 的帖子

rewrite www.XXX.com/forum.php http://bbs.XXX.com permanent;
return 301 $scheme://bbs.XXX.com$request_uri;
这个试过了
效果是把所有www.的地址定向到bbs.
还是不能单独把www.XXX.com/forum.php定向到bbs.XXX.com
尝试修改的时候发现 似乎只是return 301 $scheme://bbs.XXX.com$request_uri; 这条语句起作用


rewrite部分怎么改都没变化...

[ 本帖最后由 koslq 于 2013-9-27 13:29 编辑 ]

licess 发表于 2013-9-26 15:36:37

bbs.xxx.com 和 www.xxx.com 域名放一个主机里
然后
if ($host != 'bbs.xxx.com' ) {
rewrite ^/(.*)$ http://bbs.xxx.com/$1 permanent;
}
这样试试,不行就没办法了,去dz论坛上看看有什么办法

koslq 发表于 2013-9-27 13:27:38

回复 10# 的帖子

嗯~谢谢军哥 我试试看
页: [1]
查看完整版本: 刚接触301重定向的新人 想问下怎么做单页面和批量页面的重定向