私は次のセットアップを持っています:-> domain1.comは私のメインドメインであり、ドキュメントルートでもあります-> domain2.comはエイリアスドメインとして登録されている別のドメインです(つまり、domain1.comとまったく同じです)それらのドメインの。
そのドメインを何かにリダイレクトしたいときは、通常、これを使用してドメインを他の何か(外部Webサイトなど)にリダイレクトします。
RewriteCond %{HTTP_Host} ^(www\.)?domain2.com$ [NC]
RewriteRule ^(.*) http://somewiredisp.com/user/bla/$1 [L,R]
これは通常、フォーラムなどにニースURLを必要とする人にドメインを登録する場合に使用されます。チャームのように動作します-唯一の「問題」はブラウザのアドレスバーが変わることですが、外部URLでそれを行う方法はなく、それについて誰も文句を言わないことを読んだことがあります[〜#〜] i [〜#〜]それでいい。
ただし、ここで、URLをアドレスバーで変更せずにサブディレクトリにリンクしたいと思います。
domain2.com-> domain1.com/subdir(またはdomain2.com/subdir-エイリアスドメインであるため重要ではありません)。
私の現在のアプローチは
RewriteCond %{HTTP_Host} ^(www\.)?domain2.com$ [NC]
RewriteRule ^(.*) http://domain1.com/subdir/ [P]
動作しません(エラー404)-明らかに動作する場合、domain1.com/subdir /を直接呼び出すと。
私もいくつかのバリエーションを試しました
RewriteRule ^(.*) http://domain2.com/subdir/ [P]
RewriteRule ^(.*) /subdir/ [P]
RewriteRule ^(.*) http://domain1.com/subdir/index.html [P]
すべて同じ結果になります。
多分それは単なる単純な間違いですが、私は現在無知です:/
次のルールを使用できます。
RewriteCond %{HTTP_Host} ^(www\.)?domain2\.com$ [NC]
RewriteRule !^subdir/ /subdir%{REQUEST_URI} [L,NC]
これにより、domain2.com
with /subdir
まだ存在しない場合。
以下のコードは完璧に機能します。
RewriteEngine on
RewriteCond %{HTTP_Host} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/folder_name/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /folder_name/$1
RewriteCond %{HTTP_Host} ^(www.)?example.com$
RewriteRule ^(/)?$ folder_name/index.html [L]