htaccess更改扩展然后更改其余的URL

时间:2013-09-04 14:05:45

标签: php apache .htaccess

我正在尝试先更改扩展名,然后更改网址的其余部分,但无法弄清楚如何。

这就是我现在正在尝试的事情:

RewriteRule ^brands/living(.*)\.html$ /maerker/bolig/$1.htm [PT] <- Not working
RewriteRule ^brands/living/oldcat(.*)$ /maerker/bolig/newcat$1 [L,R=301] <- Works as intented 

第一行应该更改扩展名,然后第二行应该更改URL的其余部分,但它不起作用。

我想要的结果是:

www.domain.com/brands/living/oldcat/product.html

更改为:

www.domain.com/maerker/bolig/newcat/product.htm

2 个答案:

答案 0 :(得分:3)

我不明白你想要的只是产品,为什么不使用:

RewriteRule ^brands/living/oldcat/(.*)\.html$ /maerker/bolig/newcat/$1.htm [R=301,L]

答案 1 :(得分:1)

第一条规则不只是更改扩展名,它也会更改URI,这会导致第二条规则不匹配。如果您需要2个规则,一个用于更改扩展名,另一个用于更改URI,请尝试:

RewriteRule ^(.*)\.html$ /$1.htm [PT]   
RewriteRule ^brands/living/oldcat(.*)$ /maerker/bolig/newcat$1 [L,R=301]