徐伟轩博客-爱写歌的程序员思考和科普的日常自媒体

统计
TypechoJoeTheme

Sablog-X在nginx中实现完美伪静态规则

徐伟轩博主
2020-09-25 09:28
/
0 评论
/
636 阅读
/
312 字
09月25

此前我们也介绍过SaBlog,确实是个非常不错的博客cms程序,今天我就介绍一下Sablog-X在nginx环境中的伪静态实现规则。
我也亲身测试过Sablog-X,短小精悍,安全性和负载能力都比较优秀,博客开发使用Sablog是个不错的选择。
服务器部署了之后,我们会发现默认的是apache的伪静态规则。
网上有很多的转换网站,首先找了一个站点把apache静态规则翻译成nginx能看懂的格式。

其实翻译后的规则nginx还是会报错的,我给改好了,提供给大家,这个SaBlog-X2.0在nginx的完美伪静态规则还是不错的:

location / {
if (-f $request_filename){
set $rule_0 1;
}
if (-d $request_filename){
set $rule_0 1;
}
if ($rule_0 = "1"){
#ignored: "-" thing used or unknown variable in regex/rew
}
# 归档
rewrite ^/date/([0-9]+)/([0-9]+)/page/([0-9]+)?/?$ /index.php?action=article&setdate=$1&setday=$2&page=$3 last;
rewrite ^/date/([0-9]+)/([0-9]+)/?$ /index.php?action=article&setdate=$1&setday=$2 last;
rewrite ^/date/([0-9]+)/page/([0-9]+)?/?$ /index.php?action=article&setdate=$1&page=$2 last;
rewrite ^/date/([0-9]+)/?$ /index.php?action=article&setdate=$1 last;
# 无分类翻页
rewrite ^/page/([0-9]+)?/?$ /index.php?action=article&page=$1 last;
# 分类
rewrite ^/category/([0-9]+)/?([0-9]+)?/?$ /index.php?action=article&cid=$1&page=$2 last;
rewrite ^/category/([^/]+)/?([0-9]+)?/?$ /index.php?action=article&curl=$1&page=$2 last;
# 归档、高级搜索
rewrite ^/(archives|list|article|links)/?$ /index.php?action=$1 last;
# 全部评论、标签列表、带分页
rewrite ^/(comments|tagslist|article)/?([0-9]+)?/?$ /index.php?action=$1&page=$2 last;
# 搜索结果
rewrite ^/search/([0-9]+)/?([0-9]+)?/?$ /index.php?action=article&searchid=$1&page=$2 last;
# tags
rewrite ^/tag/([^/]+)/?([0-9]+)?/?$ /index.php?action=article&tag=$1&page=$2 last;
# 文章
rewrite ^/archives/([0-9]+)/?([0-9]+)?/?$ /index.php?action=show&id=$1&page=$2 last;
# RSS
rewrite ^/rss/([0-9]+)?/?$ /rss.php?cid=$1 last;
rewrite ^/rss/([^/]+)/?$ /rss.php?url=$1 last;
# 用户
rewrite ^/uid/([0-9]+)/?([0-9]+)?/?$ /index.php?action=article&uid=$1&page=$2 last;
rewrite ^/user/([^/]+)/?([0-9]+)?/?$ /index.php?action=article&user=$1&page=$2 last;
# 自定义链接这个要屏蔽掉,不使用。
#rewrite ^/([^/]+)/?([0-9]+)?/?$ /index.php?action=show&alias=$1&page=$2 last;
# 地图文件
rewrite  ^/sitemap\.xml$  /sitemap.php last;
}

Update:
上面的伪静态存在问题,就是如果的某些文件的即使时候也会出现错误,这是因为自定义了URL导致的。
那到底怎么修改?
建议屏蔽:

rewrite ^/([^/]+)/?([0-9]+)?/?$ /index.php?action=show&alias=$1&page=$2 last;

伪静态规则部分源自互联网,如果有错误,可联系我交流。

Sablog博客开发
赞(0)
赞赏
感谢您的支持,我们会继续努力哒!
版权:

徐伟轩博客-爱写歌的程序员思考和科普的日常自媒体

本文链接:

https://letus.top/mblog/archives/30.html(转载时需注明本文出处及文章链接)

如无特别注明,本站内容为原创。

如需转载或刊登,请联系我们获得授权。

评论 (0)
本篇文章评论功能已关闭

亲爱的朋友

一切伟大,源于勇敢的开始。

标签云