0

そのため、新しいサイトを構築しています。ドメイン構造やドメイン名など、古いサイトのすべてが廃棄されます。現在、.htaccess設定に、 http ://jagdesignideas.comをhttp://jag.isにリダイレクトするリダイレクトルールがあります。

RewriteCond %{HTTP_HOST} ^(www.)?jagdesignideas.com
RewriteRule ^(/)?$ "http://jag.is" [R=301,L]

しかし、問題は、ユーザーがintarwebzの他の場所からhttp://jagdesignideas.com/aboutへのリンクをたどると、たとえば、私が望むようにhttp://jag.isにリダイレクトされないことです。代わりに、jagdesignideas.comドメインから404ページが表示されます。

jagdesignideas.comドメインのすべてのサブストリングを取得して、新しいリダイレクトで終了させるにはどうすればよいですか?

編集:明確にするために、私は古いサイトのページを新しいサイトに一致させようとはしていません。jagdesignideas.comとそこにあるjag.isドメインを指すために大量のリダイレクトを行うだけです。

4

1 に答える 1

1

RewriteRuleで一致しているものを発行します。^(/)?$ルートスラッシュまたは何も一致しません。つまり、ドメインルートへの呼び出しのみを書き換えます。^.*$代わりに、ドメインルートの後のすべてに一致する、または何も一致しないを使用して、すべてのパスコンポーネントをキャプチャする必要があります。これにより、パスの有無にかかわらず、古いドメインへのすべての呼び出しが新しいドメインのルートにリダイレクトされます。

RewriteCond %{HTTP_HOST} ^(www\.)?jagdesignideas\.com [NC]
RewriteRule ^.*$ http://jag.is [R=301,L]

パス構造を新しいサーバー上の同じものにリダイレクトする場合は、次のトリックを実行します。

RewriteRule ^.*$ http://jag.is/$0 [R=301,L]

そこから始めて、基本的にあらゆる種類のリダイレクトを実行して、古いパス構造を新しいパス構造にマップできます。Apacheモジュールのmod_rewriteリファレンスを参照してください。

于 2012-05-26T18:50:20.927 に答える