0

301を新しいカテゴリ名にリダイレクトしようとしています:

http://www.site.com/category1/post1/ から http://www.site.com/category1-new/post1/

URLに「category1」が含まれている他のページもあるため、ドメイン名の直後に正確に「/category1/」である必要があります。

私はさまざまなパターンを試しましたが、それらは常に無限ループで終わります。

編集:

コード:

RewriteCond %{HTTP_HOST} ^site-suchen.de$ [OR]
RewriteCond %{HTTP_HOST} ^www.site-suchen.de$
RewriteRule ^site\/(.*)$ "http://www.site-suchen.de\/site-new\/$1" [R=301,L]

したがって、実際のURL:

http://www.site-suchen.de/site/post1 

にリダイレクトする必要があります

http://www.site-suchen.de/site-new/post1

ありがとう。

4

2 に答える 2

0

ここで重要なことは、一致する文字列の最初と最後を示すために ^ と $ を使用することです。すでに試したコードを投稿しない限り、これは推測にすぎません。

RewriteRule ^category1/post1/$ category1-new/post1/

またはそうかもしれません(パターンおよび/または置換文字列で / を指定したかどうかを正確に思い出せません):

RewriteRule ^/category1/post1/$ /category1-new/post1/
于 2012-05-09T14:29:45.983 に答える
0

RedirectMatch を使用できますか?

RedirectMatch 301 ^/(site1|site2|category1)(/.*|$) /$1-new$2

このコードは、括弧内に新しいパスを追加するだけでよいため、長期的には維持可能です ( site1 site2 category1 など)。

私は自分のローカルホストでこれを試しましたが、あなたの問題を解決するはずです

乾杯!

于 2012-05-10T01:51:28.427 に答える