自用的wordpress/Nginx伪静态规则

2022-10-28
476次阅读
没有评论

主要适用于纯静态插件 Super Static Cache 使用的伪静态规则,其中包括之前的死链接301到现在的链接。

如果死链接太多会影响网站的收录和用户的访问,使用下面的这个伪静态规则可以避免这一类的问题。

代码如下:

#BEGIN Super Static Cache
location / {
    
    if (-f $request_filename) {
        break;
    }
    if ($uri ~ /(.*)$){
        set $wpuri $1;
        set $sscfile $document_root/super-static-cache/$1;
    }
    set $ssc Y;
    if ($query_string !~ .*=.*){
        set $ssc "${ssc}Y";
    }
    if ($request_method != "POST"){
        set $ssc "${ssc}Y";
    }

    if (-f $sscfile){
        set $ssc "${ssc}F";
    }
    if (-f $sscfile/index.html){
        set $ssc "${ssc}I";
    }
   
    if ($ssc = YYYF){
        rewrite . /super-static-cache/$wpuri break;
    }
    if ($ssc = YYYI){
        rewrite . /super-static-cache/$wpuri/index.html break;
    }

    if (!-e $request_filename){
        rewrite  ^/(\d+).html  http://$host/post/$1.html permanent;
        rewrite  ^/html/(\d+).html  http://$host/post/$1.html permanent;
        rewrite  ^/(\d+)/  http://$host/post/$1.html permanent;
        rewrite . /index.php last;
    }
}
#End Super Static Cache

PS:想给网站搬家到虚拟主机上,一般虚拟主机使用的都是apache,所以这个规则就失效了,但我还是想复制备份一下,后面想用又得重新写,太浪费时间了。

正文结束
居烽
版权声明:本站原创文章,由 居烽 于2022-10-28发表,共计848字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。