Nginx版UPUPW添加伪静态rewrite规则方法


编辑: upupw 发布时间: 2013-05-16 22:19:03 来源: UPUPW绿色服务器平台 热度: 22965

最近大家都比较关注UPUPW添加Nginx伪静态这一话题,下边我们以phpwind在Nginx中添加伪静态rewrite规则为例,讲解在Nginx中添加伪静态的方法

首先我们需要进入phpwind后台-全局-URL伪静态设置-勾选你需要开启伪静态的页面,我们这里默认url格式全部勾选,如下图:

Nginx版UPUPW添加phpwind伪静态的方法

如果这里修改了URL格式,那么在以下配置中也要修改Nginx伪静态的对应项

接下来打开UPUPW默认主机htdocs根目录下的up-rewrite.conf文件,或者虚拟主机根目录下的up-rewrite.conf文件

备注up-rewrite.conf文件是Nginx版N3.0开始才有的,之前的版本建议升级到N3.0或以上版本来添加伪静态。

这里我们推荐用轻量级的notepad++软件编辑vhosts.conf,切记不要用记事本编辑否则会无法启动nginx服务。

源代码编辑利器Notepad6.3.3简体中文绿色版下载

下面是phpwind官网的Nginx伪静态规则:

location / {
if (-f $request_filename) {
           break;
    }
    if ($request_filename ~* "\.(js|ico|gif|jpe?g|bmp|png|css)$") {
        break;
    }
    if (!-e $request_filename) {
        rewrite . /index.php last;
    }
}

我们选取location / {......}中间的部分加入up-rewrite.conf中即可,不能包含location / {......}否则Nginx服务将不能启动,up-rewrite.conf中具体phpwind伪静态规则如下:

if (-f $request_filename) {
           break;
    }
    if ($request_filename ~* "\.(js|ico|gif|jpe?g|bmp|png|css)$") {
        break;
    }
    if (!-e $request_filename) {
        rewrite . /index.php last;
    }

很人性化的一点是UPUPW在up-rewrite.conf中默认已经加入了phpwind伪静态规则大家只要按要求去除代码前边的#号即可。

保存配置文件s5关闭全部服务,s1开启全部服务后即可访问phpwind的伪静态页面了,以下为测试结果:

phpwind的Nginx伪静态页面

同理,在Nginx版UPUPW中添加Discuz, dedecms,wordpress的伪静态也就轻而易举了,大家可以自己慢慢尝试!

最后注意的是必须保证nginx伪静态的正确性,如果不正确nginx服务将无法开启,届时需要删除伪静态后再开启nginx服务,直到配置正确!