最新消息:伪静态技术大全博客开通啦!再也不为伪静态东奔西走!更多问题可以反映给博主:野狼,QQ1615241386 QQ交流群:112696646

nginx排除真实存在的目录和文件,这样来写

伪静态规则实例 野狼 238浏览 0评论

一些目录或者文件如果真实存在就不遵守伪静态规则,这样的逻辑只需要做一个判断即可,代码如下:

    if (!-e $request_filename) {

        rewrite ^/(tag/.+|tag)/$ /tag.php?path=$1 last;
        rewrite ^/s/$ /search.php last;
        rewrite ^/([a-zA-Z0-9/_]+)/$ /list.php?path=$1 last;
    }

    if (!-f $request_filename) {
        rewrite ^/(tag/.+)/list_([0-9]+).html$ /tag.php?path=$1&p=$2 last;
        rewrite ^/([a-zA-Z0-9/_]+)/list_([0-9]+).html$ /list.php?path=$1&p=$2 last;
        rewrite ^/([a-zA-Z0-9/_]+)/([a-z0-9-_]+).html$ /content.php?path=$1/$2.html last;
        rewrite ^/([a-zA-Z0-9-_]+).html$ /topic.php?path=$1 last;
        rewrite ^/(sitemap|rss).xml$ /api/$1.xml.php last;

    }

其中-e代码是文件夹,-f代表是文件。

发表评论
请遵守网络文明公约,理性发言
访客头像

还没有人来评论,快来抢个沙发吧!