繁体   English   中英

使用.htaccess重定向URL的一部分

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM