我有一个类似以下的网址:
http://www.example.com/cat/دسته/page/2/
正如您所看到的,那里有Unicode字符串。我在htaccess中使用以下指令:
RewriteRule ^cat/(.*)/page/([0-9]*)/$ cat.php?cat=$1&page=$2 [L,NC]
这里的问题是正则表达式引擎解析上面的url并将所有دسته/page/2/
设置为第一个参数,而我只希望Unicode字符串作为我的第一个参数而整数作为第二个参数。
怎么办?有没有更好的方法来查找(.*)
以外的Unicode字符?
答案 0 :(得分:1)
这有点奇怪 - 它应该不那样 - 必须是Unicode弄乱整个事情。
在任何情况下 - 使用它 - 它更精确:
RewriteRule ^cat/([^/]+)/page/([0-9]+)/$ cat.php?cat=$1&page=$2 [L,NC]
您可以将[0-9]
替换为\d
- 完全相同且更短。