我正在尝试将301重定向到新的类别名称:
http://www.site.com/category1/post1/ 至 http://www.site.com/category1-new/post1/
其他网页的网址中还有“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
感谢。
答案 0 :(得分:0)
这里重要的事情可能是你希望^和$标记你匹配的字符串的开头和结尾。虽然这只是猜测,除非你发布一些你已经尝试过的代码。
RewriteRule ^category1/post1/$ category1-new/post1/
或者它可能是(我不记得你是否在模式和/或替换字符串中指定了/):
RewriteRule ^/category1/post1/$ /category1-new/post1/
答案 1 :(得分:0)
您可以使用RedirectMatch吗?
RedirectMatch 301 ^/(site1|site2|category1)(/.*|$) /$1-new$2
从长远来看,此代码可以维护,因为您可以在括号内添加新路径 (site1 site2 category1等)
我在本地主机上试过这个,它应该可以解决你的问题
干杯!