2011-12-23 41 views
1

こんにちは私は、メインサーバーのサブディレクトリ内にある独立したサイトを持っています。htaccessサブドメインに書き直し

サブディレクトリサイト内のすべてのリンクはルートを指しています。これらをキャプチャして、ルートではなくサブディレクトリに戻したいと思います。

これはhtaccessで可能ですか?

答えて

2

これはサブディレクトリにリダイレクトされませんが、サブディレクトリがドキュメントルートであるかのように動作します。私はそれがさらに良いと思います。

RewriteEngine on 
RewriteBase /

RewriteCond %{HTTP_HOST} ^seconddomain.nl$ [NC] 
RewriteCond $1 !^subfolder 
RewriteRule ^(.*)$ /subfolder/$1 [L] 
1

@Gerbenは、サブディレクトリは、このようなドキュメントルートである場合は、のように動作他のドメインを作ることができます(その答えは、あなたが完全に今行くとupvoteなければならない)で指摘したように:

RewriteEngine on 
RewriteBase /

RewriteCond %{HTTP_HOST} ^seconddomain.example.com$ [NC] 
RewriteCond $1 !^subdir 
RewriteRule ^(.*)$ /subdir/$1 [L] 

あなたが尋ねていることをする別の方法は、HTML文書に<base>タグを使用することです。これの利点の1つは、Webサーバー(サブディレクトリ/サブドメイン内のではなく、のすべてのドキュメントを含む)ごとに1つのドキュメントごとに余分な.htaccess処理が行われないことです。

あなたはhtaccessファイル内でそれをしたいと、それは関係なく、それがサブドメインであるかどうかのリダイレクトがある場合は、これを見ます:

RewriteEngine on 
RewriteCond %{PATH_INFO} !^subdir/ 
RewriteRule ^(.*)$ subdir/$1 [L] 
関連する問題