我想设置一个'默认'重写规则来捕获与之前的重写条目不匹配的任何内容。我试过这个:
RewriteRule ^(.*)/?$ index.php?url=$1 [L]
但返回的输出是:
url = index.php
理想情况下,我想要的是将所有GET值附加到“url”,以便将它们保存到我的Web日志中。任何人都有任何建议如何解决这个问题?
答案 0 :(得分:3)
您需要从规则中排除目标:
RewriteCond $1 !=index.php
RewriteRule ^(.*)/?$ index.php?url=$1 [L]
答案 1 :(得分:3)
无论何时可以在正则表达式中省略不必要的括号:
RewriteRule .* index.php?url=$0 [L]
如果要排除“index.php”:
RewriteRule ^(?!index\.php).* index.php?url=$0 [L]
答案 2 :(得分:1)
尝试删除斜杠:
RewriteRule ^(.*)$ index.php?url=$1 [L]