2012-02-14 9 views
0
RewriteCond %{HTTP_HOST} !^www\.DOMAIN\.com 
RewriteCond %{HTTP_HOST} ^(.*)\.DOMAIN\.com 
RewriteRule ^(.*)$ http://DOMAIN.com/FolderName/$1 [L] 

SubDomain.DOMAIN.COMそれは罰金DOMAIN.COM/Folder/ために私をリダイレクトしますが、私はしたくありませんブラウザのアドレスバーのURLはDOMAIN.COM/Folder/に変更されますが、SubDomain.DOMAIN.COMとして残ります。はSubDomain.DOMAIN.COMブラウザのアドレスバーにそのまま残るために - 私が入力した場合の.htaccess/mod_rewriteの

これまでの手がかりです。するRewriteRule docs

+0

あなたのいずれか(1)フレーム/インラインフレームを必要とします。 OR(2)は、書き換えとmod_proxyで[P]フラグが必要です。 –

+0

@ J-16SDiZ mod_proxyは – X10nD

答えて

1
RewriteCond %{HTTP_HOST} !^www\.DOMAIN\.com 
RewriteCond %{HTTP_HOST} ^(.*)\.DOMAIN\.com 
RewriteRule ^(.*)$ http://DOMAIN.com/FolderName/$1 [L] 

ドメインへのRewriteRuleポイントは、明示的なリダイレクトが発生します。デフォルトでは302リダイレクト(一時的なリダイレクト)です。

P(プロキシ)フラグを使用することをお勧めします。これを有効にするには、mod_proxyを有効にする必要があります。

RewriteCond %{HTTP_HOST} !^www\.DOMAIN\.com 
RewriteRule ^(.*)$ http://DOMAIN.com/FolderName$1 [L,R=301] 

RewriteCond %{HTTP_HOST} ^(.*)\.DOMAIN\.com 
RewriteRule ^(.*)$ http://DOMAIN.com/FolderName/$1 [L,P] 

ProxyReverse指示を忘れずに設定してください。

Context: server config, virtual host, directory 

だから、あなたは.htaccessProxyReverseを持つことはできません。

から直接取得しました。Proxying Content with mod_rewrite Apache Docs
mod_rewriteより可能な限りProxyPassまたはProxyPassMatchのいずれかを使用することを検討してください。どのようにはProxyPassため

訪問これを:https://stackoverflow.com/a/9189447/858515

+0

魅力的なように働いて...ありがとう... – X10nD

+0

@Jean welcome .. – ThinkingMonkey

+0

httpd.confのヘルプFollowSymLinksを含んでいますか? – X10nD

0

ルック:

Absolute URL 

If an absolute URL is specified, mod_rewrite checks to see whether the 
hostname matches the current host. If it does, the scheme and hostname 
are stripped out and the resulting path is treated as a URL-path. 
Otherwise, an external redirect is performed for the given URL. 

だから - 直接ファイルシステムのパスを使用しよう:

RewriteCond %{HTTP_HOST} !^www\.DOMAIN\.com 
RewriteCond %{HTTP_HOST} ^(.*)\.DOMAIN\.com 
RewriteRule ^(.*)$ /path/to/domain.com/DocumentRoot/FolderName/$1 [L] 
+0

にあります。/path/to/domain.com/DocumentRoot/FolderName/はhttp://DomainName.com/FolderNameです。ですから、私は として書きます。RewriteRule ^(。*)$/FolderName/$ 1 [L]? – X10nD

+0

あなたはそれを試すことができます。私はそれがうまくいくかどうかは分かりません。セーフベットは、/ var/www/server/folder /のような完全なファイルシステムのパスです。 – kupson

関連する問題