可能的modrwrite规则中的特殊字符?

时间:2013-09-23 11:07:31

标签: regex apache .htaccess mod-rewrite

我不明白。

此规则有效

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规则中使用问号?

1 个答案:

答案 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]