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]

所以实际的网址:

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 301 ^/(site1|site2|category1)(/.*|$) /$1-new$2

从长远来看,此代码是可维护的,因为您只需在括号内添加新路径( site1 site2 category1 等)

我在本地主机上试过这个,它应该可以解决你的问题

干杯!

于 2012-05-10T01:51:28.427 回答