私はApache 2.4.7
を使用しています。私はmod_rewrite
を使っていくつかのURLを変更します。Apache2:疑問符を含むURLを書き換え
http://example.com/servicename/oldpage?id=abc
からhttp://example.com/servicename/newpage
に書き換えたいと思います。
他の同様の書き換えがうまくいきますので、私は?
のURLの内側に問題があります。 私は\
でエスケープしようとしました。
URLには?
がないので、この作品:
RewriteRule ^/servicename/old /servicename/new
しかし、これらは動作しません:
RewriteRule ^/servicename/oldpage?id=abc /servicename/newpage
RewriteRule ^/servicename/oldpage\?id=abc /servicename/newpage
私もRewriteCond
を使用して試してみましたこのような例から:.htaccess rewrite URL with a question mark "?"しかし、私はそれらを働かせることはできませんでした。
疑問符を含むURLをどのように書き換える必要がありますか?
編集:私はMatch Question Mark in mod_rewrite rule regexで与えられた解決策を試しましたが、それらを私のために働かせることはできませんでした。その質問は、書き換え時にクエリ文字列を保存しておき、書き換え時に削除したいということです。
をあなたは書き換えが 'ID ='クエリ文字列の内容に依存したい、またはあなたはそれがNEWPAGEに送信された要求から削除必要がありますか? –
私はそれを削除したい、その内容を気にしない。 –
[Match \ _rewrite rule regex]の疑問符と一致する重複の可能性があります(http://stackoverflow.com/questions/822421/match-question-mark-in-mod-rewrite-rule-regex) –