使用正则表达式重写URL

时间:2014-08-14 11:16:31

标签: regex apache .htaccess mod-rewrite

我正在使用软件工具为我的Joomla网站创建一些301重定向规则。例如:

http://myhost/directory/category/article

http://myhost/directory/main-category/category/article

在实践中,我添加"主要类别"到URL。通过指定完整URL,重定向正确发生。例如:

Source URL: ^/temp/clustering/cluster-example
Destination URL: http://localhost/temp/main-category/clustering/cluster-example

但是,我想使用正则表达式来避免为每个页面创建重定向。我需要类似的东西:

Source URL: ^/temp/clustering/*
Destination URL: http://localhost/temp/main-category/clustering/???????

我需要一个正则表达式而不是" ??????"它将路径的最后一个元素放在那里(在我的例子中,' s" cluster-example"。 据我所知,这个引擎使用MySQL implementation of regular expressions
任何帮助将非常感谢!

1 个答案:

答案 0 :(得分:1)

将此规则作为非常第一规则放在/temp/.htaccess

RewriteEngine On
RewriteBase /temp/

RewriteRule ^(clustering/.+)$ main-category/$1 [L,NC,R=301,NE]