xiaocms伪静态规则
XiaoCms企业建站版基于PHP+Mysql架构 是一款小巧、灵活、简单、易用的轻量级cms。能满足各种企业站 博客 等中小型站点。我之前有不少网站是用它建的。但最近发现了官方伪静态的一个问题,当栏目出现空格或减号的时候,伪静态失效了,打开栏目url出现404。经改进后的伪静态如下:
Apache
# 将 RewriteEngine 模式打开
RewriteEngine On
# 如果是在目录,请启用下面的规则、修改以下语句中的 /xiaocms 为您的网站目录地址
#RewriteBase /xiaocms
# Rewrite 系统规则请勿修改
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\s|%200-9a-z-_]+)/$ index.php?catdir=$1 [L,NC,NE,QSA]
RewriteRule ^([\s|%200-9a-z-_]+)/list_([0-9]+)\.html$ index.php?catdir=$1&page=$2 [L,NC,NE,QSA]
RewriteRule ^([\s|%200-9a-z-_]+)/([0-9]+)\.html$ index.php?id=$2&x=$1 [L,NC,NE,QSA]
RewriteRule ^([\s|%200-9a-z-_]+)/([0-9]+)_([0-9]+)\.html$ index.php?id=$2&page=$3&x=$1 [L,NC,NE,QSA]Nginx
location / {
if (!-e $request_filename){
rewrite ^/([\s|%200-9a-z-A-Z-_]+)/$ /index.php?catdir=$1 last;
}
rewrite ^/([\s|%200-9a-z-A-Z-_]+)/list_([0-9]+)\.html$ /index.php?catdir=$1&page=$2 last;
rewrite ^/([\s|%200-9a-z-A-Z-_]+)/([0-9]+)\.html$ /index.php?id=$2&x=$1 last;
rewrite ^/([\s|%200-9a-z-A-Z-_]+)/([0-9]+)_([0-9]+)\.html$ /index.php?id=$2&page=$3&x=$1 last;
}后记:基于目前php2shell漏洞,Xiaocms所支持的php版本已经不安全了。弃用了。除非作者更新到支持更安全的php8.2+