VPS侦探论坛

 找回密码
 注册
查看: 7370|回复: 10

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

[复制链接]
发表于 2013-9-18 10:50:41 | 显示全部楼层 |阅读模式

目前网站用的是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: [warn] server name "www.XXX.com/forum.php
"

has suspicious symbols in /usr/local/nginx/conf/vhost/www.XXX.com.conf:32



希望有人能说明一下怎么做单页面或者批量页面的重定向
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 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配置就行
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2013-9-18 13:43:48 | 显示全部楼层

回复 2# 的帖子


哦哦
只需要按照系统的设置调好了就行是么?
站点做的时间挺久的 论坛的forum.php页面有些权重
看了一些资料  说做301可以传递页面权重
就想通过301先把单页面的权重传递到bbs.的域名上
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2013-9-18 14:29:58 | 显示全部楼层

回复 3# 的帖子




用过一次好像是这个disucz后台上就可以设置
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
发表于 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 编辑 ]

军哥运维代购:http://shop63846532.taobao.com/

 楼主| 发表于 2013-9-21 11:19:52 | 显示全部楼层

回复 4# 的帖子


server {
server_name www.XXX.com;
return 301  www.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
如[http://www.XXX.com/forum.php?mod=***]转向到[http://bbs.XXX.com/forum.php?mod=***]
怎么才能实现这种效果呢

同样还找有另一种写法不知道是否可行:
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 编辑 ]
 楼主| 发表于 2013-9-21 11:21:28 | 显示全部楼层

回复 5# 的帖子


你好 我是想把www.域中的部分内容转到bbs.域
如果是单纯换域名的话我想也就没这么麻烦了...
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 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;
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 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 编辑 ]
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 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论坛上看看有什么办法
 楼主| 发表于 2013-9-27 13:27:38 | 显示全部楼层

回复 10# 的帖子


嗯~谢谢军哥 我试试看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-12-10 16:49 , Processed in 0.029277 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表