私は.htaccess
というファイルをmod_rewriteを使用して、古いWebサイトのURLを新しいWebページの同等物にリダイレクトしています。新しいサイトはwww.eastwood-whelpton.co.uk
(現在はHTML5ブラウザでのみ動作します)で閲覧できます。.htaccessサブドメインでない場合のリダイレクト
これまでは、古いページのそれぞれを新しいサイトの場所に翻訳するために、多くのRedirect Permanent
ステートメントを作成することによって、これを実現しました。
これまでのウェブサイトのサブドメインを作成する必要があるまで、これはうまくいきました。以前は、フォルダ/old/
に入っていましたが、Robots.txtから許可されていないにもかかわらずGoogleではまだクロールしています。これを修正するために、私はサブドメイン 'old'に入れました。
問題は今、old.eastwood-whelpton.co.uk/about.htm
などのページにアクセスすると、新しいサイトにあるold.eastwood-whelpton.co.uk/about/about.php
にリダイレクトしようとします。
私のHTACCESSファイルのスニペットです。私が必要とするのは、古い「www」ページをリダイレクトすることですが、「古い」サブドメインの古いページはリダイレクトしません。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^eastwood-whelpton [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
DirectoryIndex index.php
Redirect permanent /index.htm /index.php
Redirect permanent /index.html /index.php
Redirect permanent /yachthire.htm /holidays/sailingholidays.php
Redirect permanent /yachts.htm /about/thefleet.php
Redirect permanent /handover.htm /training/handover.php
Redirect permanent /holiday.htm /holidays/familyholidays.php
素晴らしいです。それはちょっとパッチキーですが、おそらくキャッシングなどで、ちょっとだけ/yachts.htmリダイレクトが正常に機能しますが、RewriteRule^- [L]がパズルの鍵です。私はそれが働くようになると答えとしてこれを選択します。ありがとう! – CJxD
@CJxDブラウザキャッシュを一度クリアしてください。それから試してみてください。ちょうどあなたのApacheを再起動してください。 – ThinkingMonkey
さて、私はまだそれを動作させることはできません。適切に応答する唯一のものは/yachts\.htm行です。 – CJxD