1

わかりました、非常によく似た問題に関連するいくつかのスレッドを見つけましたが、自分のサイトに提供された回答を使用してうまくいきませんでした. 基本的に、次のようにマッピングされた 2 つのサイトがあります。

/public_html/ - points to main domain (www.site1.com)
/public_html/site2.com - points to secondary domain (www.site2.com)
/public_html/portal - points to my target subdirectory

www.site2.com/portal へのすべてのリクエストを取得して、www.site1.com/portal を透過的にロードしようとしています。つまり、www.site2.com/portal をアドレス バーに表示したいのです。

RewriteCond %{HTTP_HOST} ^(www\.)?site2\.com [NC]
RewriteCond %{REQUEST_URI} ^/portal/(.*)$
RewriteRule ^/(.*) /portal/$1 [L]

まったく機能しません

RewriteCond %{HTTP_HOST} ^(www\.)?site2\.com$ [NC]
RewriteCond %{REQUEST_URI} ^/portal/(.*)$
RewriteRule ^(.*)$ http://site1.com/portal/$1 [L]

http://site1.com/portal/site2.com/portalに移動します。

私はこの数日間、この壁に頭をぶつけてきました。助けていただければ幸いです。

4

1 に答える 1

1

httpd.conf で mod_proxy を有効にしない限り、現在のセットアップは取得しようとしているものをサポートしません。したがって、ここで利用可能な 2 つのオプションがあります。

オプション 1: mod_proxy を有効にして現在のディレクトリ構造を保持する

次のコードを.htaccessアンダーpublic_html/site2.comディレクトリに配置します。

RewriteCond %{HTTP_HOST} ^(www\.)?site2\.com$ [NC]
RewriteRule ^(portal/.*)$ http://site1.com/$1 [L,NC,P]

オプション 2: 現在のディレクトリ構造を保持し、次のようなシンボリック リンクを作成します。

/path-to/public_html/site2.com/portal -> /path-to/public_html/portal

次に、このコードを.htaccessアンダーpublic_html/site2.comディレクトリに配置します。

Options +FollowSymLinks -MultiViews

IMHOオプション#2は、1つのシンボリックリンクを作成するだけでよいため、はるかに簡単になります(*nix.

于 2012-04-23T18:15:32.613 に答える