2012-02-01 12 views
0

サンプル#1(として期待される作品を)リダイレクト:.htaccessのmod_rewriteのは

RewriteCond %{HTTP_HOST} ^www.hanoichurch.com$ [OR] 
RewriteCond %{HTTP_HOST}  ^hicvn.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www.hicvn.com$ [OR] 
RewriteCond %{HTTP_HOST}  ^hicvn.org$ [OR] 
RewriteCond %{HTTP_HOST} ^www.hicvn.org$ [OR] 
RewriteCond %{HTTP_HOST}  ^hanoiworship.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www.hanoiworship.com$ 
RewriteCond %{REQUEST_FILENAME} !^google 
RewriteRule ^/?(.*)$ "http\:\/\/hanoichurch\.com\/$1" [R=301,L] 

サンプル#2は(動作しません*):

RewriteCond %{HTTP_HOST} ^www.nathanbrauer.com$ [OR] 
RewriteCond %{HTTP_HOST}  ^nathanbrauer.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www.nathanjbrauer.com$ 
RewriteCond %{REQUEST_FILENAME} !^google 
RewriteRule ^/?(.*)$ "http\:\/\/nathanjbrauer\.com\/$1" [R=301,L] 

*はwww.nathanbrauer.comを訪問(黙って失敗します単にページをロードし、nathanjbrauer.comにリダイレクトしません)。

100万の感謝!このコードを使用していた私は何をやってしまった

===更新===

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^nathanjbrauer\.com$ 
RewriteCond %{REQUEST_FILENAME} !^google 
RewriteRule^http://nathanjbrauer.com%{REQUEST_URI} [R=301,L] 
+0

私の不足を許してください。私は皆とその母親がここにある.htaccessの問題を見ているので、私はそれをあなたのために短くしておくことにしました:) –

+0

また、ネームサーバを変更したので、これらのサイトにアクセスすると動作しない可能性があります。 DNSが伝播しました。 –

答えて

2

あなたSAMPLE1コードもリファクタリングすることができますが、私はあなたのサンプル2コードに修正を提案しますこれはあなたのために働いていないので:

RewriteCond %{HTTP_HOST} ^(www\.)?nathanbrauer\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.nathanjbrauer\.com$ 
RewriteCond %{REQUEST_FILENAME} !^google [NC] 
RewriteRule^http://nathanjbrauer.com%{REQUEST_URI} [R=301,L] 
+0

これは正しく見えますが、私は*動作すべきだと思います。しかし何らかの理由で、そうではありません。これはまったく同じ環境(hhostichurch.comからvhostがコピーされています)でhanoichurch.comと全く同じサーバー上にあります(動作します)。両方の.htaccessはchmod 644 chown root:rootです。そして、それはnathanbrauer.comのhtaccessを読み込んでいます(私がちょっとばかげていると、私は500エラーになります)。私はこれにとても混乱しています。もう何を確認すればいいですか? –

+0

あなたはそれが動作しないと言うとき?あなたは 'http:// nathanjbrauer.com/uri'にリダイレクトされていませんか?または、内部サーバーエラーが発生していますか?元のURLは何でテストしていますか? – anubhava

+0

現在、http://nathanbrauer.comおよびhttp://nathanjbrauer.comに掲載されています。私はリダイレクトされていません(500エラーなし)。これらのルールが存在しないかのようにサイトをロードするだけです。 –