ApacheでURLリダイレクトを設定しようとしています。私はいくつかのアプローチを試しましたが、何も機能しません。それほど難しくはないように思われるので、誰かがこれの解決策を教えてもらえますか?.
リクエストをリダイレクトします:
https://myhost/configuration/jmx-console
に:
http://myanohterhost/jmx-console
これはhttpsからhttpへのリダイレクトです。
誰かが私を正しい方向に向けることができますか?
どうもありがとう!
RedirectMatch
ディレクティブを使用して、Apacheにユーザーを別の場所に送信させることができます。
RedirectMatch 301 ^(.*)$ http://www.anotherserver.com$1
以下を参照してください。
http://httpd.Apache.org/docs/2.2/mod/mod_alias.html#redirectmatch
http://en.wikipedia.org/wiki/URL_redirection#HTTP_status_codes_3xx
これを行う通常の方法は、現在のサーバー(または仮想ホスト)の `myhost 'の構成で次のようになります。
Redirect /configuration/jmx-console http://myanohterhost/jmx-console
編集:あなたのコメントによると、次のいずれかの手法を使用してそれを行うことができるようです:
リモートサーバーのURLをローカルURLにマップするだけです。
ProxyPass /configuration/jmx-console http://myanohterhost/jmx-console
ProxyPassReverse /configuration/jmx-console http://myanohterhost/jmx-console
RewriteRule ^configuration/jmx-console(.*)$ http://myanohterhost/jmx-console$1 [P]
このようなリバースプロキシを使用する場合は、いくつかの注意点があります。よくお読みになることをお勧めします http://httpd.Apache.org/docs/2.2/en/mod/mod_proxy.html さまざまなものを確認するリバースプロキシを使用するときに使用できるオプション。
質問のタイトルを参照してくださいRLをリダイレクトするようにApache2を構成する方法私は(mod_alias
からRedirectPermanent
を使用して)うまく機能する簡単な解決策を提案します。
まず、A
タイプのエントリの例のように、ドメインに適切なDNSエントリがあるかどうかを確認します。
name somefancydomain.com
TTL 600
type A
value 10.100.10.100
およびCNAME
エントリ:
name www.somefancydomain.com
TTL 600
type CNAME
value somefancydomain.com
次に、IP10.100.10.100のubuntuWebサーバーに移動し、新しい仮想ホストを構成します。
cd /etc/Apache2/sites-available/
Sudo vim redirect.conf
以下のように構成を貼り付けて保存します。
<VirtualHost *:80>
ServerName somefancydomain.com
ServerAlias www.somefancydomain.com
RedirectPermanent / https://redirectedurl.com/
ServerAdmin [email protected]
ErrorLog ${Apache_LOG_DIR}/error.log
CustomLog ${Apache_LOG_DIR}/access.log combined
</VirtualHost>
新しい仮想ホストを有効にして、Apacheをリロードします。
Sudo a2ensite redirect.conf
Sudo service Apache2 reload
最後に、リダイレクトが機能しているかどうかを確認します。
ホスト「myhost」でこれを実行していると仮定します
1 /タッチ/etc/Apache2/conf-available/my-redirect.conf
2/my-redirect.confを編集して、追加します
Redirect permanent /configuration/jmx-console http://myanotherhost/jmx-console
3/a2enconf my-redirect.conf
4/Apache2ctl configtest
5 /これで「SyntaxOK」が表示されます
6/systemctl restart Apache2
Apacheサイトによると、not mod_rewriteを使用してhttpからhttpsにリダイレクトする必要があります(または他の方法で、より一般的です)。
http://httpd.Apache.org/docs/2.2/rewrite/avoid.html
Webサイトでは、mod_aliasをRedirectおよびRedirectMatchディレクティブとともに使用することを提案しています。