产品服务AMH 免费服务器主机面板SSL证书 免费SSL证书申请 担保单 免费安全、零费率交易平台编程助手免费智能写代码、翻译AMYSQL 免费MySQL管理工具

AMH 社区首页

 AMH社区 - 开放自由有价值的社区

[综合话题] [CP原创教程]amh面板增加301重定向方法【2014.4.21更新】

Captain
金牌会员
6928.40 价值分

Captain 发表于 2014-04-21 01:12:06
本帖最后由 Captain 于 2014-4-21 02:02 编辑

 
 
教程目的:由于直接用rewrite规则定义的301重定向作用有限,不适合把所有绑定的域名都301都重新域名,而直接在conf文件里增加有的同学又不知道增加到哪里才能生效,故有此教程

效果:以下面的红色标出的代码为例,这段301代码的的意义是,当访问的域名不为www.xxxx.com的时候(对应代码里的$host != 'www.xxxx.com'),把server_name(该主机绑定的域名)非www.xxxx.com的域名,也就是剩下的xxxx.com、bbs.xxxx.com、forum.xxxx.com,全部301重定向到www.xxxx.com(对应代码里的rewrite ^/(.*)$ http://www.xxxx.com/$1 permanent;),既然懂了用法,其他应用同学们也可以举一反三了



首先可以ssh或者sftp找到/usr/local/nginx/conf/vhost这个文件夹
找到对应网站的conf文件,比如xxxx.conf,vi编辑/usr/local/nginx/conf/vhost/xxxx.conf或者用sftp软件编辑这个conf文件
增加红色的部分

引用:
server
{
listen 80;
server_name www.xxxx.com xxxx.com bbs.xxxx.com forum.xxxx.com; #server_name end

if ( $host != 'www.xxxx.com' )
{
rewrite ^/(.*)$ http://www.xxxx.com/$1 permanent;
}


index index.html index.htm index.php; #index end

set $subdomain '';....................以下配置文件省略

加好后保存退出
然后ssh执行下amh nginx restart或者到面板里重载一下nginx
看看是不是生效了


ps.懒人可以复制一下(请注意www.xxxx.com请修改成自己的网址

 -----------------------
if ( $host != 'www.xxxx.com' )
{
rewrite ^/(.*)$ http://www.xxxx.com/$1 permanent;
}
2014-04-21 01:12:06 1

阿里云
铁牌会员
153.00 价值分

mark

支持
  支持 (0分)  反对 (0分)
回复  2014-04-21 03:02:57 2

tibbs
铝牌会员
343.00 价值分

支持 GOOD JOB
  支持 (0分)  反对 (0分)
回复  2014-04-21 10:06:41 3

amysql
创始人
16530.81 价值分

没错。不明白301怎么会事的用户可以看下这帖子。

另、怎么都不用AMRewrite这个模块呢?
在虚拟主机相应的AMRewrite规则里添加:
引用:

if ( $host != 'www.xxxx.com' )
{
rewrite ^/(.*)$ http://www.xxxx.com/$1 permanent;
}

就可以了。
  支持 (0分)  反对 (0分)
回复  2014-04-21 12:50:50 4

AMH面板 - 好用高效低占用、安全可靠极稳定

eying
铝牌会员
330.00 价值分

有个问题,如果我现在没有域名的话,可不可以直接用IP来访问。
因为现在只是测试一下网站而已。
  支持 (0分)  反对 (0分)
回复  2014-04-23 17:32:34 5

Captain
金牌会员
6928.40 价值分

引用:
eying 发表于 2014-4-23 17:32
有个问题,如果我现在没有域名的话,可不可以直接用IP来访问。
因为现在只是测试一下网站而已。
...


直接新建一个任意名称的主机,在绑定域名的地方填写IP,就可以用IP访问这个虚拟主机了
  支持 (0分)  反对 (0分)
回复  2014-04-25 07:20:19 6

梦少白
铁牌会员
101.22 价值分

不能在面板里操作吗?毕竟这个操作没有WIN系统方便
  支持 (0分)  反对 (0分)
回复  2014-04-27 11:50:26 7

Captain
金牌会员
6928.40 价值分

引用:
梦少白 发表于 2014-4-27 11:50
不能在面板里操作吗?毕竟这个操作没有WIN系统方便


这个以后可能会有
  支持 (0分)  反对 (0分)
回复  2014-04-28 01:26:18 8

amysql
创始人
16530.81 价值分

面板下安装AMRewrite添加上面rewrite url重写规则就可以了。
其实面板上的功能也都是类似这样修改配置重启nginx。
  支持 (0分)  反对 (0分)
回复  2014-04-28 11:38:35 9

郁闷的菜鸟
铁牌会员
145.00 价值分

本帖最后由 郁闷的菜鸟 于 2014-6-2 22:34 编辑

if ( $host != 'xxxx.com' )
{
rewrite ^/(.*)$ http://xxxx.com/$1 permanent;
}

这个是把***.xxx.com所有的都转向了xxx.com ,但我还有个论坛bbs.xxx.com一样也重定向了xxx.com,有什么方法不要把bbs.xxx.com。重定向?请大大给我解答一下,非常感谢!

对了我的主网站是wordpress做的
  支持 (0分)  反对 (0分)
回复  2014-06-02 22:31:58 10
 1 2 >  (总2页)
AMH社区列表
用户服务中心