1

「デフォルト」の書き換えルールを設定して、以前の書き換えエントリと一致しなかったものをすべてキャッチしたいと考えています。私はこれを試しました:

RewriteRule ^(.*)/?$ index.php?url=$1 [L]

しかし、返される出力は次のとおりです。

url = index.php

理想的には、すべての GET 値を「url」にアタッチして、Web ログに保存することです。これを解決する方法はありますか?

4

3 に答える 3

3

ルールから宛先を除外する必要があります。

RewriteCond $1 !=index.php
RewriteRule ^(.*)/?$ index.php?url=$1 [L]
于 2009-12-06T13:04:27.597 に答える
3

可能な場合は常に、正規表現の不要な括弧を省略してください。

RewriteRule .* index.php?url=$0 [L]

「index.php」を除外する場合:

RewriteRule ^(?!index\.php).* index.php?url=$0 [L]
于 2009-12-06T13:10:18.477 に答える
1

スラッシュを削除してみてください:

RewriteRule ^(.*)$ index.php?url=$1 [L]
于 2009-12-06T13:05:33.430 に答える