2

にリダイレクトhttp://example.com/view-abc-def.htmlする必要がありhttp://example.com/view/abc-def.htmlます。それを行うために、私が使用したのは、

RewriteRule ^(.*)view-(.*)$ /$1view/$2 [R=301,L]

これは、URL に他のview-が出現しなくなるまで完全に機能します。残念ながら、このような URLhttp://example.com/view-abc-view-def.htmlだと 404 になってしまいます。

だから私は試しました

RewriteRule ^(.*)/view-(.*)$ /$1view/$2 [R=301,L]

ただし、この場合、URL は何も変更されません。私は何を間違っていますか?

4

2 に答える 2

1

最初にすべての internal を削除-view-してから、実際のリダイレクトを行うことができます

RewriteRule ^(.*)-view-(.*)$ $1-$2 [L]
RewriteRule ^(.*)/view-(.*)$ /$1/view/$2 [R,L]

すべてが期待どおりに機能したら、 に変更できRますR=301

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

于 2013-04-23T19:05:02.943 に答える