xiaocms伪静态规则

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(\w+)/$ index.php?catdir=$1 [L]
#RewriteRule ^(\w+)/list_([0-9]+)\.html$ index.php?catdir=$1&page=$2 [L]
RewriteRule ^(\w+)/([0-9]+)$ index.php?catdir=$1&page=$2 [L]
RewriteRule ^(\w+)/([0-9]+)\.html$ index.php?id=$2&x=$1 [L]
RewriteRule ^(\w+)/([0-9]+)_([0-9]+)\.html$ index.php?id=$2&page=$3&x=$1 [L]

xiaocms官方的伪静态规则不能用了。以上是xiaocms伪静态规则可以正常使用。

以上版本还是会有问题,栏目出现空格或-符号是就会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;

}

 

posted @ 2022-05-12 10:07  蓝飞鱼  阅读(148)  评论(0)    收藏  举报