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