[英]Redirect a part of a URL with .htaccess
我正在尝试将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
谢谢。
这里重要的事情可能是您希望使用^和$来标记要匹配的字符串的开头和结尾。 尽管这只是一个猜测,除非您发布一些已经尝试过的代码。
RewriteRule ^category1/post1/$ category1-new/post1/
或可能是这样(我不记得您是否在模式和/或替换字符串中指定了/):
RewriteRule ^/category1/post1/$ /category1-new/post1/
可以使用RedirectMatch吗?
RedirectMatch 301 ^/(site1|site2|category1)(/.*|$) /$1-new$2
该代码从长远来看将是可维护的,因为您可以在括号内添加新路径(site1 site2 category1等)。
我在本地主机上尝试过,它应该可以解决您的问题
干杯!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.