2011-01-05 8 views
1

私の.htaccessで、ユーザーがアクセスする内容に応じて別のURLにリダイレクトしたいと思います。.htaccess:アクセスされたURLに応じてリダイレクト

この場合、http://example.com/awesome.comhttp://awesome.comは同じサイトです。ユーザーがhttp://example.com/awesome.comにアクセスしている場合は、http://awesome.comにリダイレクトしてください。

これは実現可能ですか?

編集:回答の助けを借りて、私はこの作業溶液を思い付いた:.htaccessファイルについて

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^awesome.com$ 
RewriteRule ^(.*)$ http://awesome.com/$1 [R=301] 

答えて

1

あなたはmod_rewriteが、これはstrcture例えばwww.domain1.com/linkリンクを維持しながら、私は(私の新しいものに私の古いドメインからリダイレクトするために、使用.htaccessファイルがある

(apache2のモジュール)を使用することができます/linkb.htmlはなりwww.domain1 GR /link/linkb.html)詳細については、

RewriteEngine On 
RewriteCond %(www\.)?domain1\.com$ [NC] 
RewriteRule .* http://www.domain1.gr%{REQUEST_URI} [R=301,L] 

グーグルのmod_rewrite(構文など)

+0

これはまさに私が後にしていることです。しかし、私はそれを働かせることはできません。編集を参照してください。 –

+0

"内部サーバーエラー"ページが表示されますか?またはそれは単に動作しませんか? – Thordin9

+0

それは単に動作しません。私の.htaccessで、mod_rewriteが有効になっているかどうか確認できますか? –

0

全くわからない、あなただけそれらを適切にリダイレクトするために、あなたの404ページにサーバーコードを使用することができます。この方法で統計情報を収集したり、ツールバーをセットアップしたり、他のアクションを実行したりすることができます。

0

.htaccessはリダイレクトではなく、承認に関するものです。 Apache(または使用しているWebサーバー)のリダイレクションサポートを見てみることをお勧めします。これは、この問題のはるかに適しており、.htaccess/authorizationがターゲットに沿っていることを確認するだけです。

0

このルールは、それを実行する必要があります。

RewriteRule ^awesome\.example(/.*)?$ http://www.awesome.example$1 [R=301,L] 
+0

申し訳ありませんが、そうではありません。 –

+0

@Ben Galler:ああ待って、グループはオプションです。 – Gumbo

+0

それを働かせることはできません。私のWebホテルによると、mod_rewriteは有効になっているはずです... –

0

ApacheのRedirect & RedirectMatchオプションを確認してください。あなたのような単純なケースでは、mod_rewriteよりも簡単です。

Redirect /awesome.com http://ww.awesome.com 

または

Redirect permanent /awesome.com http://ww.awesome.com 

さて、example.comとawesome.comあなたは多分バーチャルホストのものという名前の拠点をmisingしていて、多分しようとしている同じApacheサーバと同じバーチャルホスト上にある場合単純な名前付き基本仮想ホスト定義よりもはるかに複雑なものにすることです。