2012-02-07 3 views
0

私のサイトへの参照はすべてblah.mysite.comにリダイレクトしたいと思います。複数のワイルドカード例外を持つ.htaccessを作成しますか?

私はリダイレクトせずに直接アクセスできるように、これらの特定のサブディレクトリを必要とする:www.mysite.com/foomysite.com/bar
mysite.com/foo、ここでwww.mysite.com/bar

は、私がこれまで持っているものである。明らかに

Options +FollowSymlinks 
RewriteEngine on 
#Redirect all non-foobar sites to blah 
rewritecond %{http_host} . 
rewritecond %{http_host} !^(www|.)mysite\.com//foo// 
rewritecond %{http_host} !^(www|.)mysite\.com//bar// 
rewriterule (.*)$ http://blah.mysite.com/ [R=301,L] 

、私は何か間違っている。どのように私はこれを修正することができますについての任意の洞察力を持っていますか?私は徹夜で調べています。

答えて

0

はこれを試してみてください:

RewriteCond %{HTTP_HOST} !blah.mysite.com [NC] 
Rewritecond %{REQUEST_URI} !^/(foo|bar)/?$ [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^http://blah.mysite.com/ [R=301,L] 
+0

恐ろしい、どうもありがとうございました! 'foo'ディレクトリ内の項目をワイルドカードから除外するには、私は何をする必要がありますか? –

+0

@DanCarewは、同様のルールを持つ別の '.htaccess'を追加します。 'foo'ディレクトリにあります。 – ThinkingMonkey

+0

申し訳ありませんが、私はそれが動作するとは思わない。現在、 'mysite.com/foo/image.jpg'は' http:// blah.mysite.com/'にリダイレクトされます。これをどうやって防ぐのですか? –

関連する問題