使用mod重写更改网址

时间:2016-11-24 19:44:44

标签: regex apache .htaccess mod-rewrite url-redirection

我进行了网站迁移,我需要更改所有网址。我知道我可以单独为每个链接使用mod重写规则,但我认为这是错误的: 我需要更改此类网址:

example.com/categories/ad/hotels,101/hotel-1,25432

到此:

example.com/turism/hotels/hotel-1

正如您所看到的,在新链接上我有一个新文件夹“turism”,ID号和文件夹“ad”和“categories”将被删除。

我可以使用这个重写规则:

# 301 --- example.com/categories/ad/hotels,101/hotel-1,25432 => example.com/turism/hotels/hotel-1
RewriteRule ^categories/ad/hotels,101/hotel-1,25432$ /turism/hotels/hotel-1? [L,R=301]

但我有26000个链接要改变,这很痛苦。是否有重写规则可以帮助我加快转换速度?是否可以为每个类别使用一个重写规则?

1 个答案:

答案 0 :(得分:1)

您可以对所有链接使用此通用规则:

RewriteEngine On

RewriteRule ^categories/ad/hotels,[^/]*/([^,]+), /turism/hotels/$1? [L,R=301,NC,NE]