古いドメインから新しいドメインへの移行を検討しています。
古いドメインを持っていますolddomain.com
および新しいドメインnewdomain.com
今のところ同じIPアドレスを指しています。
リクエストを処理するためにApacheサーバーを配置しています。
どうやって301 redirect
すべて
olddomain.com/*
&
www.olddomain.com/*
に
newdomain.com/*
htaccess
に追加する必要がある正確な正規表現または構成を取得できますか?.
私のnewdomain.comとolddomain.comの両方が同じIPから同じApacheによってサーバーされているため、 "/"リダイレクトが循環につながる可能性があるので、効率的な方法を探していました
私は試した
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_Host} ^localhost$ [OR]
# RewriteCond %{HTTP_Host} ^www.olddomain.com$
RewriteRule (.*)$ http://comp16/$1 [R=301,L]
</IfModule>
そして、仮想ホストを追加してみました
RedirectMatch (.*)\.jpg$ http://comp17$1.jpg
しかし、ブラウザーでlocalhostをコンピューター名、つまりcomp16にヒットしても、サイトはリダイレクトされません
各olddomain.com
ホストの構成(VirtualHost
)で、次のことを試してください。
Redirect permanent / http://newdomain.com/
Redirect のApacheドキュメント。これは、すべてをリダイレクトする場合に推奨される方法です。 mode_rewrite/htaccess
を使用する必要がある場合、SOに関してこれに関する多くの質問があり、そのうちの1つは次のとおりです。
最初のフォルダパスがある場合、ドメインを別のドメインに301リダイレクトするにはどうすればよいですか
[〜#〜]編集[〜#〜]
simple redirects に関するApacheからの推奨:
mod_alias provides the Redirect and RedirectMatch directives, which provide a means to
redirect one URL to another. This kind of simple redirection of one URL, or a class of
URLs, to somewhere else, should be accomplished using these directives rather than
RewriteRule. RedirectMatch allows you to include a regular expression in your
redirection criteria, providing many of the benefits of using RewriteRule.