14

これは他の多くの質問のように聞こえますが、答えが見つからないようです。

www.domain.com/folderA/folder2/folder3/にいるとしましょう

www.domain.com/folderB/folder2/folder3/にリダイレクトしたい

したがって、構造全体は同じままです。リダイレクトするだけです。今のところ私は持っています:

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/folderA [NC]
RewriteRule ^(.*)$ /folderB/$1 [R=301,L]

しかし、私がそれを使うとき、それはただwww.domain.com/folderB/folderA/folder2/folder3/をするでしょう

私は何が間違っているのですか?そのfolderAを削除するにはどうすればよいですか?

4

1 に答える 1

23

パターン^(.*)$には接頭辞 も含まれますfolderAfolderAパターンで明示的に指定し、RewriteRule で後半部分のみをキャプチャする必要があります。次に、RewriteCond をドロップできます

RewriteEngine on
RewriteRule ^/?folderA/(.*)$ /folderB/$1 [R,L]

有効にしてテストしないでください。詳細について301は、この回答.htaccess 書き換えルールをデバッグするためのヒント を参照してください。

于 2013-02-15T23:02:47.953 に答える