Apache2 - サブドメインを他のURLにリダイレクトする


15

私は2つのサブドメインa.website.comとb.website.comを持ち、同じIPアドレスを指しています。 b.website.comをa.website.com:8080にリダイレクトしたいです。 .htaccessファイルにこれがあります。

RewriteEngine on
RewriteCond {HTTP_HOST} b\.website\.com
RewriteRule ^(.*)$ http://b.website.com:8080$1 [L]

...しかし、うまくいきません。

それを機能させる方法はありますか?


以下を追加してみてください .htaccess 目的のディレクトリの上の親ディレクトリにあります。 RedirectMatch ^/foo/$ /foo/bar/ または RedirectMatch ^/foo/$ /bar/baz/。また見なさい apache2をサブディレクトリにリダイレクトさせる方法
jww

回答:


20

あなたはいつも簡単なVirtualHostを使うことができます:

<VirtualHost *:80>
  ServerName b.website.com
  RedirectPermanent / http://a.website.com:8080/
</VirtualHost>

.htaccessファイルを使用したい場合は、書き換え条件に%記号がないだけです。

RewriteEngine on
RewriteCond %{HTTP_HOST} b.website.com
RewriteRule ^(.*)$ http://a.website.com:8080$1 [L]

両方試してみましたが、うまくいきませんでした。 mod_rewriteを有効にし、VirtualHostを別のサイトファイルに保存します。足りないものはありますか。
Technius

3
これはうまくいきます。サブドメインをサブフォルダーに向けていて、そのサブフォルダーがリダイレクトされていたため、ループリダイレクトの問題がありました。これで、サブドメインをフォルダに対応するURLにリダイレクトしました。2回目のリダイレクトでも問題ありません。
Paschalis

保存するにはどうするか http:// または https://どんな方法でも b.website.com そもそもアクセスされた?
Golar Ramblar
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.