13

旧ドメインから新ドメインへの移行を検討しています。

今のところ、古いドメイン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にヒットしても、サイトはリダイレクトされません

4

3 に答える 3

18

各ホストの構成 ( VirtualHost) で、次のことを試してください。olddomain.com

Redirect permanent / http://newdomain.com/

Redirect の Apache ドキュメント。これは、すべてをリダイレクトする必要がある場合に推奨される方法です。使用する必要がある場合mode_rewrite/htaccessは、SO でこれに関する多くの質問があり、そのうちの 1 つが次のとおりです。

最初のドメインにフォルダー パスがある場合、あるドメインを別のドメインに 301 リダイレクトするにはどうすればよいですか

単純なリダイレクトに関する 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.
于 2013-10-14T09:33:54.533 に答える