2

私のファイルには 2 種類のルールがあり.htaccessます。最初のグループは正確なファイルに一致し、次に、他のすべての一般的なキャッチオールがあります。for 書き換えルールを使用できることを読み[L]ましたが、同等の for はありRedirect 301ますか? たとえば、私の.htaccessファイルは次のようになります。

Redirect 301 /exact_page.html http: //www.newsite.com/new_page1.html

Redirect 301 /some_other_page.html http ://www.newsite.com/new_page2.html

RewriteEngine on
RewriteRule ^(.*)$ http://www.newsite.com/$1 [R=301,L]

私が望むのは、ページが示さexact_page.htmlsome_other_page.htmlているとおりにリダイレクトされ、他のすべてがドメインから新しいドメインへのマップを取得し、残りの URL はそのままです。代わりに、最初の 2 つの が無視されているように見えますRedirect 301。より正確には、最終規則に取って代わられています。最初の一致が見つかった後に停止するようにApacheに指示する方法はありますか?

4

1 に答える 1

1

私はこのようなものがうまくいくはずだと思います:

RewriteEngine on

RewriteCond %{REQUEST_URI} !^/(exact_page\.html|some_other_page\.html)$
RewriteRule ^(.*)$ http://www.newsite.com/$1 [R=301,L]

RewriteRule ^exact_page\.html$ http://www.newsite.com/new_page1.html [R=301,L]
RewriteRule ^some_other_page\.html$ http://www.newsite.com/new_page2.html [R=301,L]
于 2013-06-17T18:51:14.123 に答える