0

古いドメインを新しいドメインにリダイレクトしようとしていますが、いくつかのルールを設定する必要があり、これまでのところ、それを完全に正しく行うことができませんでした。

古いドメイン(例:www.old-domain.com)には、次のような英国の町にちなんで何百ものフォルダ名があります。

www.old-domain.com/sheffield/ www.old-domain.com/london/ www.old-domain.com/essex/

これらの各フォルダ内には、index.htmlファイルとその他のディレクトリおよびファイルが含まれています。

古いドメイン/タウンが新しいドメイン/タウンにマップされるように、それらを新しいドメインにリダイレクトする必要がありますが、古いドメイン/タウン/index.htmlは新しいドメインの終わりにindex.htmlを配置しませんが、タウンは、新しいドメインでタウンにリダイレクトするためのindex.html以外のものです。
申し訳ありませんが、それは説明するのが最も簡単ではなく、読みやすく理解するのも簡単ではありません。

www.old-domain.com/sheffield => www.new-domain.com/sheffield

www.old-domain.com/sheffield/ => www.new-domain.com/sheffield/

www.old-domain.com/sheffield/index.html => www.new-domain.com/sheffield/

www.old-domain.com/sheffield/main.html => www.new-domain.com/sheffield/main.html

www.old-domain.com/sheffield/innerFolder/ => www.new-domain.com/sheffield/innerFolder

www.old-domain.com/sheffield/innerFolder/file.php => www.new-domain.com/sheffield/innerFolder/file.php

上記の太字の2つは、これでうまくいくことができました。

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^sheffield/(.*)$ http://www.new-domain.com/sheffield/$1 [R=301,L]

ただし、Imは、old-domain.com / sheffield / index.htmlを取得して、新しいドメインに.index.htmlを配置しないようにするのに本当に苦労しています。

mod rewriteチュートリアルをもう何時間も見つめながら髪を抜く前に、誰かがこれに光を当てることはできますか?

4

2 に答える 2

2

ヒント:書き換えルールは、最初に一致したベースで処理されます。メインルールの前に例外を置くことができます

于 2012-07-26T16:44:00.107 に答える
0

さまざまな組み合わせを試し、神を読んだ約4〜5時間後、私がそこにたどり着いたリライターチュートリアルの数を知っています。これがたった3つの場所のhtacessファイルです。これらはすべて現在うまく機能しています。

Options +FollowSymLinks
RewriteEngine on

RewriteRule ^sheffield\/index\.html http://www.new-domain.co.uk/sheffield/ [R=301,L]
RewriteRule ^sheffield/(.*)$ http://www.new-domain.co.uk/sheffield/$1 [R=301,L]

RewriteRule ^bolton\/index\.html http://www.new-domain.co.uk/bolton/ [R=301,L]
RewriteRule ^bolton/(.*)$ http://www.new-domain.co.uk/bolton/$1 [R=301,L]

RewriteRule ^coventry\/index\.html http://www.new-domain.co.uk/coventry/ [R=301,L]
RewriteRule ^coventry/(.*)$ http://www.new-domain.co.uk/coventry/$1 [R=301,L]
于 2012-07-27T09:40:51.853 に答える