我在Nginx上有一个非常简单的重写规则:
rewrite (*UTF8)^/([\pL\pN\/-]*)$ /index.php?route=$1;
它使用Perl反斜杠序列来匹配所有unicode字母和数字。
我试图在Apache上重现它:
RewriteRule ^([\pL\pN\/-]*)$ /index.php?route=$1 [QSA,L]
然而它只匹配斜线和短划线。错误日志是干净的。
答案 0 :(得分:3)
mod_rewrite
不支持\p
属性,但您可以\w
使用B
和NE
标记,将您重写的URI转发给{{{ 1}}:
/index.php
PS: RewriteRule ^([\w/-]+)$ /index.php?route=$1 [QSA,L,B,NE]
还包含下划线。