子文件夹在htaccess中重定向,然后删除URL中的最后10个字符

时间:2015-06-11 15:27:41

标签: regex .htaccess redirect

我们遇到一个问题,即网站正在创建一些奇怪的重定向错误。 我需要重写以下网址格式

http://example.com/111/news/news/article-1469.html

http://example.com/archive/article/

我已经在我的htaccess

中得到了这部分内容
RewriteRule ^111/news/news/(.*)$ /archive/$1 [R=301,NC,L]

它在很大程度上吸引人们

http://example.com/archive/article-1469.html

问题是最后一部分 - ' -1469.html'我需要摆脱它。问题是这些重定向有很多,数字可能是任意四个数字(它们并不总是相同)

有没有办法一揽子删除网址的最后10个字符?

感谢

1 个答案:

答案 0 :(得分:1)

试试这个:

RewriteRule ^111/news/news/(.*).{10}$ /archive/$1

它会在您的捕获组之后查找10个小时,并按照您的要求有效删除最后10个字符。

另一个选择是在破折号处打破,虽然这不是你要求的:

^111/news/news/(.*)\-.*$ 好处是如果你有一些数字是3或5位数而不是4位数,但是如果你有一些带有短划线的前缀,那么这就不行了。