mod_rewrite不允许a-z

时间:2016-09-22 20:38:50

标签: .htaccess mod-rewrite

所以这是我的问题..

这是我的网址: /category.php?cat=8

这是我试图实现的网址: /方的事件/厨房/

在数据库中,该类别的ID为主要 sub main_slug sub_slug

这:/ main_slug / sub_slug /

我有这个

RewriteRule ^([a-z]+)\/?$ $1.php [NC]
RewriteRule ^([a-z]+)\/([0-9]+)\/?$ category.php?param=$1&param2=$2 [NC]

哪些输出和工作正常:/ category / 8 /

但它只适用于数字,没有别的。如果我使用和写信,我会找到一个未找到的页面。

但是我对htaccess正则表达式只是使用主要和次要slug而不仅仅是数字而感到迷茫。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

在这条规则中:

RewriteRule ^([a-z]+)\/([0-9]+)\/?$ category.php?param=$1&param2=$2 [NC]

([a-z]+)位表示" a和z之间的一个或多个字母"

([0-9]+)位表示" 0到9之间的一个或多个数字"

通过将[0-9]替换为另一个[a-z],您所要求的内容似乎已经完成。但是,如果您想接受任何字符,而不仅仅是z和/或0-9,请用([^/]+)替换它们,这意味着"一个或多个不是 - 斜线字符"。