2017-07-20 17 views
0

私はコアPHPで.htaccessファイルを使用したが、私は持っているので、それがリダイレクトいないことでクエリ文字列urlを.htaccess PHPの別のURLにリダイレクトしますか?

https://exmaple.com/uploads/cms_files/GENERAL-TERMS-AND-CONDITIONS.pdf

https://example.com/uploads/cms_files/GENERAL-TERMS-AND-CONDITIONS.pdf?docs/GENERAL_TERMS_AND_CONDITIONS.pdf

をリダイレクトするようにしたいですか?クエリ私のURLには、質問の後の値の鍵はありません。mar k。

このURLを.htaccessでリダイレクトする方法を教えてもらえますか?

+0

なぜそれをまったく書き直す必要がありますか?そのURLを使用して要求できるオブジェクトが存在する場合、クエリ文字列は単に無視することができます... – arkascha

答えて

2

あなたが求めるものの直接の実装は、このようになります:httpサーバのホスト構成でも同様に動作し、動的な設定ファイル(.htaccess)にするルール

RewriteEngine on 
RewriteCond %{QUERY_STRING} ^docs/GENERAL_TERMS_AND_CONDITIONS\.pdf$ 
RewriteRule ^/?uploads/cms_files/GENERAL-TERMS-AND-CONDITIONS\.pdf https://example.com/uploads/cms_files/GENERAL-TERMS-AND-CONDITIONS.pdf [R=301,QSD] 

。動的構成ファイルを使用する場合は、その解釈がすべて有効になっていること(AllowOverride指示文)、そのようなファイルがhttpサーバープロセスによって読み込み可能であり、http内の正しい場所にあることに注意する必要がありますドキュメントフォルダをホストします。

しかし、なぜそれをまったく書き直す必要がありますか?オブジェクトは、それがそのURLを使用して要求することができる存在する場合は、クエリ文字列は、単純に...


と一般的なヒントを無視することができます:あなたは常に(仮想)HTTPサーバ内部でこのようなルールを置くことを好む必要があります動的構成ファイル(.htaccessスタイルファイル)を使用する代わりに、ホスト構成を使用します。これらのファイルは悪名高いエラーが発生しやすく、デバッグが難しく、サーバーの速度が遅くなります。これらは、ホスト構成(本当に安価なホスティングサービスプロバイダを参照)を制御できない状況や独自の書き換えルールを書くことに依存するアプリケーションを持っている場合(最後のオプションとしてサポートされています。 )。

+0

ありがとう、本当に役立ちます – BornCoder

関連する問題