web-dev-qa-db-ja.com

URLをリダイレクトするようにApache2を設定する方法

ApacheでURLリダイレクトを設定しようとしています。私はいくつかのアプローチを試しましたが、何も機能しません。それほど難しくはないように思われるので、誰かがこれの解決策を教えてもらえますか?.

リクエストをリダイレクトします:

https://myhost/configuration/jmx-console

に:

http://myanohterhost/jmx-console

これはhttpsからhttpへのリダイレクトです。

誰かが私を正しい方向に向けることができますか?

どうもありがとう!

5
Kevin

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

11
Brian Lacy

これを行う通常の方法は、現在のサーバー(または仮想ホスト)の `myhost 'の構成で次のようになります。

Redirect /configuration/jmx-console http://myanohterhost/jmx-console

編集:あなたのコメントによると、次のいずれかの手法を使用してそれを行うことができるようです:

1. mod_proxy、リバースプロキシ設定を使用

リモートサーバーのURLをローカルURLにマップするだけです。

ProxyPass /configuration/jmx-console http://myanohterhost/jmx-console
ProxyPassReverse /configuration/jmx-console http://myanohterhost/jmx-console

2.プロキシスループット機能を使用したmod_rewrite

RewriteRule ^configuration/jmx-console(.*)$ http://myanohterhost/jmx-console$1 [P]

このようなリバースプロキシを使用する場合は、いくつかの注意点があります。よくお読みになることをお勧めします http://httpd.Apache.org/docs/2.2/en/mod/mod_proxy.html さまざまなものを確認するリバースプロキシを使用するときに使用できるオプション。

3
SirDarius

質問のタイトルを参照してください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

最後に、リダイレクトが機能しているかどうかを確認します。

2
baltasvejas

ホスト「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

0
KayCee

Apacheサイトによると、not mod_rewriteを使用してhttpからhttpsにリダイレクトする必要があります(または他の方法で、より一般的です)。

http://httpd.Apache.org/docs/2.2/rewrite/avoid.html

Webサイトでは、mod_aliasRedirectおよびRedirectMatchディレクティブとともに使用することを提案しています。

0
Vince