0

私には特定のニーズがあり、.htaccess mod_rewriting を使用した適切なソリューションについていくつかの洞察を得たいと思っていました。

基本的に、ドメインを別のドメインのサブフォルダーにマップする必要があります。www.website.com に対するすべてのリクエストは、www.domain.com/branch のコンテンツにリダイレクトされる必要がありますが、ブラウザのアドレス バーには www.website.com が表示されます。また、www.website.com/subpage への要求は、www.domain.com/branch/subpage にリダイレクトする必要があるため、www.website.com/subpage URL は保持されます。

www.domain.com/branch へのリクエストは www.website.com に書き換える必要があり、www.domain.com/branch/subfolder へのリクエストは www.website.com/subfolder に書き換える必要があります。

Expression Engine テンプレート システムを使用していますが、これは問題になりません。正しい mod_rewriting は何でしょうか?

後で、同じコンテンツに対して別のロゴと色を提供するために、URL を「スニッフィング」する必要がありますが、JavaScript で作成できると思いますか?

これまでのところ、私はそのような指示で問題を調査してきました:

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

しかし、全体の問題ははるかに複雑なようです... 専門家は、必要なものすべてを mod_rewrite で取得する権利を私に指摘できますか?

4

1 に答える 1

0
RewriteEngine On
RewriteBase /

#internally redirect request for website.com to the /branch folder
RewriteCond %{HTTP_HOST} ^(www\.)?website\.com [NC]
RewriteCond %{REQUEST_URI} !^/branch
RewriteRule ^(.*) /branch/$1 [L]

# redirect direct request for /branch to the website.com
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com [NC]
RewriteRule ^branch/(.*) http://www.website.com/$1 [R=302,L]

これらのルールを htaccess に入れていると仮定しています。そうしないと、RewriteRules の先頭にスラッシュが必要になります。

于 2013-03-20T18:51:26.227 に答える