site.com/link?p=2
给$ _GET ['p'] == 2即使我已经做了
site.com/link
重写
site.com/index.php?page=link
所以,我正在尝试更换site.com/link?p=2 使用site.com/link&p=2
RewriteEngine on
RewriteRule (.*)\?(.*) $1\&$2
RewriteCond %{REQUEST_URI} !\....$
RewriteRule ^(.*)$ /index.php?p=$1
它不起作用!
答案 0 :(得分:3)
RewriteRule
无法在左侧看到查询字符串(?
及其后的任何内容);它只匹配URL的路径部分。
但好消息是,您可能需要做的就是:
RewriteEngine on
RewriteCond %{REQUEST_URI} !\....$
RewriteRule ^(.*)$ /index.php?p=$1 [QSA]
QSA
选项,查询字符串添加,告诉您的RewriteRule添加到查询字符串而不是替换它(默认行为,无疑提示整个问题)。