たぶん、私は不可能なことをしようとしているか、完全に明白な何かを見逃しています。
私がやりたいことは、次のように書き直すことです。
^/report/user?(.*)$ ./report/user.php?userid=$1 [L,NC]
?
using をエスケープしようとしましたが、/\?
それがスローされ、内部サーバーエラーが発生しました。
これを達成する方法はありますか?
たぶん、私は不可能なことをしようとしているか、完全に明白な何かを見逃しています。
私がやりたいことは、次のように書き直すことです。
^/report/user?(.*)$ ./report/user.php?userid=$1 [L,NC]
?
using をエスケープしようとしましたが、/\?
それがスローされ、内部サーバーエラーが発生しました。
これを達成する方法はありますか?
多分あなたは試すかもしれません:
RewriteCond %{QUERY_STRING} ^([0-9]+)$
RewriteRule ^/report/user$ ./report/user.php?userid=%1 [L,NC]
ユーザー ID が英数字の場合は、最後の部分RewriteCond
を([0-9a-zA-Z]+)
OK、a?
は 1 回または 0 回の正規表現なので、1 回か 0 回かを尋ねて、r
それ以外のすべてを取得します。クエリ文字列を別のクエリにキャプチャする (転送するだけでなく) 場合は、次を試してください。
RewriteRule ^/?report/user$ /report/user.php?userid=%{QUERY_STRING} [L,NC]
...ローカルマシンでテスト?a=1&b=2
->?userid=a=1&b=2
おそらくあなたが望むものではない
クエリ文字列がどうなるかはわかりませんが、転送する必要があります。flagで試してみて、R
どのように見えるかを確認してください。単にクエリ文字列に追加したい場合は、次を試すことができます。
RewriteRule ^/?report/user$ /report/user.php?userid=1 [L,NC,QSA]
..ローカルマシンでクエリ文字列をテスト?a=1&b=2
->?userid=1&a=1&b=2
クエリを変更せずに場所を変更するだけでは、QSA は必要ありません
RewriteRule ^/?report/user$ /report/user.php [L,NC]
..ローカルマシンでクエリ文字列をテスト?a=1&b=2
->?a=1&b=2
http://htaccess.madewithlove.be/が必要な場合は、ここで書き換えをテストできます。一度ロールオーバーすることを覚えておいてください。基本的なことだけをテストできます。(クエリ文字列の追加)もプログラムされているとは思いませんQSA
が、それでもまともなツールです。