0

クライアントの以前のドメインで DNS を変更したので、ABCDEF.com のような URL はすべて UVWXYZ.com に変換されましたが、クライアントは自分のページへのすべてのリンクを維持したいと考えており、うまくやっています。 htaccess と mod_rewrite による 301 リダイレクトのセット。したがって、私の .htaccess は次のようになります。

RewriteEngine On
RewriteBase /
RewriteRule ^list.aspx?i=5$ list.php [R=301,L]
RewriteRule ^cat.aspx?i=1$ printers.php [R=301,L]
RewriteRule ^cat.aspx?i=3$ multi.php [R=301,L]

この時点で、ABCDEF.com/list.aspx と入力すると、ブラウザーが UVWXYZ.com/list.php をロードします (他の例も同様です) が、クライアントは他のページをホームページにリダイレクトしたいと考えています。つまり、ABCDEF.com/downloads.aspx にアクセスすると、ブラウザーは UVWXYZ.com をロードする必要があります。

私は次のようなルールを試しました

RewriteRule (.*) index.php [R=301,L]

しかし、サーバーはリダイレクトループを叫びます。私のケースに最も適したルールはどれですか?

事前にどうもありがとうございました

4

1 に答える 1

3

次のいずれかを試すことができます。

FallbackResource /index.php

または:

ErrorDocument 404 /index.php

または、mod_rewrite (htaccess ファイルの最後) だけで:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^ /index.php [L,R=301]
于 2013-09-16T09:11:54.403 に答える