2012-02-22 20 views
0

私は301が「dirは」は任意のディレクトリではありませんので、設定値であるが、唯一指定された.htaccessURLリダイレクト:サブドメインに特定のフォルダを

にリダイレクトを設定しようとしています。ここで私が持っているものだ -

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^www\.domain\.com/dir$ [NC] 
RewriteRule ^(.*) http://dir.domain.com/$1 [L,R=301] 
+0

仮想ディレクトリから同等のサブドメイン名にリダイレクトしようとしていますか? –

+0

いいえ、この例では、ディレクトリは実際のディレクトリです – atb

答えて

1

HTTP_POSTが有効な選択肢ではありません。これをより堅牢にすることもできますが、これは2つの条件を持つことで特定のドメインに限定する必要があります。 1つはホストヘッダー用で、もう1つはサブフォルダー用です。

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^www\.domain\.com [NC] 
RewriteCond %{REQUEST_URI} ^/dir/$ [NC] 
RewriteRule ^.*$ http://dir.domain.com/ [L,R=301] 
+1

華麗、ありがとう – atb

+0

あなたupvoteできますか? –

0

私はあなたの問題はあなたがサブディレクトリを含む完全なホストにHTTP_POSTを調整しようということですね。 HTTP_POST wilには、この場合はwww\.domain\.comというホストのみが含まれています。

あなたはこのような何かを行う可能性があります:

RewriteEngine On 
RewriteCond %{HTTP_POST} ^www\.domain\.com$ [NC] 
RewriteRule ^/dir/(.*) http://dir.domain.com/$1 [L,R=301] 
+0

私のために働いていません。私がwww.domain.com/dirにアクセスすると、そこに残ります。 – atb

+1

これは、後ろにスラッシュのある/ dirです。代わりに^/dir(。*)を使用してください。 –

関連する問題