ドメインexample.comとwww.example.comをhttp://example2.comにリダイレクトしようとしていますが、私の投稿へのすべての訪問をhttp://example.com/sdfhsにしておきたいと思います。ルート(およびルートのみ)のURLを別のドメインにリダイレクトしますか?
基本的に、私はルートとwwwドメインをリダイレクトし、残りの部分はそのままにします。
.htaccessでこれを行うにはどうすればよいですか?
ドメインexample.comとwww.example.comをhttp://example2.comにリダイレクトしようとしていますが、私の投稿へのすべての訪問をhttp://example.com/sdfhsにしておきたいと思います。ルート(およびルートのみ)のURLを別のドメインにリダイレクトしますか?
基本的に、私はルートとwwwドメインをリダイレクトし、残りの部分はそのままにします。
.htaccessでこれを行うにはどうすればよいですか?
URLを少なくとも1文字の(.+)
にマッチさせるだけで、書き換えエンジンの最後のルールとして[L]
を表示することができます。 その後、(.*)
を新しいドメインにリダイレクトします(その時点までに一致しない唯一のものはルートになります)。あなたはまだこの問題を持っている場合
RewriteEngine On
RewriteRule ^(.+)$ - [L]
RewriteRule ^(.*)$ http://example2.com/$1 [R=301,L]
なぜ
RewriteEngine On
RewriteCond ${HTTP_HOST} example\.com|www\.example\.com
RewriteRule ^/?$ http://example2.com [L]
これは、すべてのドメインをexample.comにリダイレクトします。私はそれが望まれているとは思わない。 –
@ JasonMcCreary申し訳ありませんが、あなたが正しいです、私はこれが彼の(仮想)ホストにのみ適用されることを覚えていました。 http_hostのテストを更新しました。私のreパターンが正しいことを願っています。 –
は知らないが、私は自分のドメインの1(Yourlsインストール)でそれを持っていました。試してください:
RewriteEngine On
RewriteRule ^$ http://www.example.com/ [R=301,L]
私のインストールでは動作しますが、サイトで確認してください。
はhttpd.conf
を通じてのmod_rewriteと.htaccessを有効にしてから.htaccess
DOCUMENT_ROOT
下のディレクトリにこのコードを配置:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase/
RewriteCond ${HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteRule ^$ http://example2.com [L,R=301]
これがexample.comにすべてのドメインをリダイレクトします。私はそれが望まれているとは思わない。 –