こんにちは私は、メインサーバーのサブディレクトリ内にある独立したサイトを持っています。htaccessサブドメインに書き直し
サブディレクトリサイト内のすべてのリンクはルートを指しています。これらをキャプチャして、ルートではなくサブディレクトリに戻したいと思います。
これはhtaccessで可能ですか?
こんにちは私は、メインサーバーのサブディレクトリ内にある独立したサイトを持っています。htaccessサブドメインに書き直し
サブディレクトリサイト内のすべてのリンクはルートを指しています。これらをキャプチャして、ルートではなくサブディレクトリに戻したいと思います。
これはhtaccessで可能ですか?
これはサブディレクトリにリダイレクトされませんが、サブディレクトリがドキュメントルートであるかのように動作します。私はそれがさらに良いと思います。
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^seconddomain.nl$ [NC]
RewriteCond $1 !^subfolder
RewriteRule ^(.*)$ /subfolder/$1 [L]
@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]