2016-08-07 21 views
-1

書き換えサブディレクトリとQUERY_STRING

mydomain.com/cgi-bin/myscript.cgi?ID=foo&param1=bar 

mydomain.com/foo?param1=bar 

に「静かに」(すなわち、ブラウザのバーでアドレスを変更しない)に書き換えます

また、/foo/?param1=barも同様に動作するようにしたいと思います。fooの後にスラッシュが入力された場合に備えてください。

もちろん、必ずしもfooであるとは限りません。必ずしもparam1であるとは限りません。理想的には、このソリューションは任意のサブディレクトリ、およびquery_stringで動作します。

答えて

0

これを達成するのはかなり簡単です。 htaccessファイルに次のコードを挿入してください:

RewriteEngine On 
RewriteCond %{REQUEST_URI} !^/cgi-bin [NC] 
RewriteRule ^/?(.+)/?$ /cgi-bin/myscript.cgi?ID=$1&%{QUERY_STRING} [L] 
+0

ありがとうございます! 'RewriteCond%{REQUEST_FILENAME}!-f RewriteCond%{REQUEST_FILENAME}!-d'を追加して、既存のファイル/ディレクトリであれば一致しないようにしました。 (うまくいけばそれは間違いない)そうでなければ、/ images、/ cssなどの既存のディレクトリに従っていなかった。 –

関連する問題