我不明白。
此规则有效
RewriteRule ^([-a-zA-Z0-9-]+)/index.html$ index.phpXXpage=$1 [L]
此规则不起作用
RewriteRule ^([-a-zA-Z0-9-]+)/index.html$ index.php?page=$1 [L]
好的,问题是问号。但为什么这个规则不起作用?
RewriteRule ^([-a-zA-Z0-9-]+)/index.html$ index.php\?page=$1 [L]
如何在modrwewrte规则中使用问号?
答案 0 :(得分:1)
首先,你的正则表达式包含两次连字符的字符类。这个规则适合你:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteRule ^([a-z0-9-]+)/index\.html$ /index.php?page=$1 [L,NC,QSA]