私はURLを持っており、絶対URLにリダイレクトしたい。以下は私のためには機能しません:.htaccessルール301の絶対URLへのリダイレクト
Redirect 301 /changecurrency/3?returnurl=/9ct-gold-belcher-chain-tg40dc http://www.example.com/9ct-gold-belcher-chain-tg40dc
どうしたのですか?
私はURLを持っており、絶対URLにリダイレクトしたい。以下は私のためには機能しません:.htaccessルール301の絶対URLへのリダイレクト
Redirect 301 /changecurrency/3?returnurl=/9ct-gold-belcher-chain-tg40dc http://www.example.com/9ct-gold-belcher-chain-tg40dc
どうしたのですか?
http取得パラメータはURLの一部ではありません。あなたは(正確にそれらのパラメータを取得して)してみてくださいまさにその要求に一致する必要がある場合は、Rewriteondの書き換えモジュールによって提供されるを使用する必要があります。
RewriteEngine on
RewriteCond %{QUERY_STRING} returnurl=/9ct-gold-belcher-chain-tg40dc
RewriteRule ^/?changecurrency/3 http://www.example.com/9ct-gold-belcher-chain-tg40dc [END,R=301,QSD]
上記のルールは、httpサーバのホスト構成で動作しますまた、動的構成ファイル(.htaccess
)にも含まれています。
明らかに、書き換えモジュールをhttpサーバにロードする必要があります。
実際に古いバージョンのApache HTTPサーバーを使用している場合は、END
フラグをL
フラグに置き換える必要があります。
一般的なヒント:動的構成ファイル( ".htaccess")ではなく、httpサーバーのホスト構成内にこのようなルールを配置することを常に推奨します。これらのファイルは悪名高いエラーが発生しやすく、デバッグが難しく、サーバーの速度が遅くなります。彼らは、あなたがホスト構成(本当に安いホスティングサービスプロバイダを読む)を持っていないか、独自の書き換えルールを書くことに頼っているアプリケーションを持っている場合にのみ、最後のオプションとして提供されます(これは明白なセキュリティの悪夢です)。
http getパラメータはURLの一部ではありません。あなたが正確にそれらのパラメータを取得しようとしているリクエストを正確に照合する必要がある場合は、書き換えモジュールによって提供される 'Rewriteond'を使用する必要があります。 – arkascha
ありがとうございました@arkascha – Owen