2017-10-10 5 views
3

私は、変数を設定するには、以下を使用することができ、以下のコードを、持っている:私が欲しいものリクエストするホストの変数を取得するApache htaccess?

SetEnvIf Host (.*) custom_host=$1 

が要求しているホスト/コンピュータの変数です。

たとえば、ウェブサイトhttp://example.com:32/welcomeがリクエストしている場合、これを変数にしたいですか?

答えて

0

Hostの代わりに、リクエストで送信されるHTTP Refererヘッダーにアクセスするには、Refererが必要です。例:

SetEnvIf Referer (.*) custom_referer=$1 

ただし、使用しているサーバー側のスクリプト言語によっては、これを別の変数に割り当てる必要はほとんどありません。通常は、必要に応じて直接参照することができます。

また、HTTP Refererヘッダーが設定されていない可能性があります。参照先サイトとユーザーのブラウザは、この両方をブロックできます。

UPDATE:私はパスなしでちょうどプロトコル、ドメインとホストを持つことができますどのように

のようなものに正規表現を変更してみてください:Refererhttp://example.com:32/welcomeであれば、これはちょうどhttp://example.com:32custom_referer変数に格納されているにつながるはずです

SetEnvIf Referer ^(https?://[^/]+) custom_referer=$1 

+0

でも動作しますが、CORSの一致が失敗したことに気付きました。パスがあるので、どのようにプロトコル、ドメイン、ホストを持つことができますか? –

+0

この答えを調整して末尾のスラッシュを削除しても問題ありません –

関連する問題