1

次のような URL があります:www.site.com/catalog/?type=6 に書き換える必要がありwww.site.com/white-wines/white-casesます。

重要なのは、これがリダイレクトではないことです。たとえば、URL はアクセスしwww.site.com/white-wines/white-casesたときのままである必要がありますが、からのコンテンツが表示されwww.site.com/catalog/?type=6ます。

私が持っている現在のソリューションはリダイレクトを実行しますが、これを解決するのに苦労しています。

RewriteRule ^white-wines/white-cases$ http://www.site.co.uk/catalog/?type=6 [L]
4

1 に答える 1

1

ターゲットに完全なアドレスを設定すると、ターゲットが現在のホスト名と異なる場合、書き換えではなくリダイレ​​クトが行われます。ルート相対パスを試してください。

RewriteRule ^white-wines/white-cases$ /catalog/?type=6 [L]

別のホスト名に書き直すことはできません。

絶対 URL

絶対 URL が指定されている場合、mod_rewrite は、ホスト名が現在のホストと一致するかどうかを確認します。存在する場合、スキームとホスト名は取り除かれ、結果のパスは URL パスとして扱われます。それ以外の場合、指定された URL に対して外部リダイレクトが実行されます。外部リダイレクトを現在のホストに強制的に戻すには、以下の [R] フラグを参照してください。

ソース: Apache モジュール mod_rewrite

于 2012-10-09T14:48:13.783 に答える