私はサイトを持っています。 example.wordpress.com
(サブサイトwordpressマルチサイト)ですが、そのサイトのコンテンツを別のドメイン(cooking.com
など)でユーザーに表示したいのですが、両方のドメインにAレコードを設定しています同じIPに転送し、mod_proxy
を使用する必要があるURLにドメイン名を保持したい場合は、これを読みました。これが私の設定です。
<VirtualHost *:80>
ServerName cooking.com
ProxyRequests Off
<Proxy *>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Proxy>
ProxyPass / http://example.wordpress.com/
ProxyPassReverse / http://example.wordpress.com/
</VirtualHost>
ただし、ブラウザにcooking.com
と入力すると、example.wordpress.com
にリダイレクトされ、cooking.com
の代わりにits URLが表示されます。 Apacheファイルの何が問題になっていますか?
代わりにmod_rewrite
の使用も試みましたが、同じ結果が得られます。
RewriteEngine On
RewriteCond %{HTTP_Host} ^cooking.com$ [NC]
RewriteRule ^(.*)$ http://example.wordpress.com/$1 [L,P,NC]
mod_proxy
とmod_proxy_http
を有効にし、Ubuntu 16.04でApache 2.4を使用しています。
問題を解決しました。私にはわからない理由で、元のサイトはHTTPSを強制していました(私はそれを構成しませんでしたが)。ユーザーezra-s
が提案したように(応答ヘッダーの場所を調べたところ)、ProxyPassReverse
をHTTPSドメイン(無限ループにつながる)にリダイレクトするように変更しました。ただし、Apacheログを調べてグーグルで調べたところ、解決策はSSLProxyEngine on
を追加することでした。これで動作し、ブラウザのURLを変更せずに、サイトにリダイレクトされます。
ブラウザの開発者コンソールで応答ヘッダーを確認し、[ネットワーク]タブに移動して、ページを(再)ロードするだけです。
サブサイトのドメインは変更されていますが、サイトには古いドメイン宛てのページへのリンクが含まれています。