使用带有通配符的mod重写来动态创建URL

时间:2013-11-01 18:24:26

标签: regex apache .htaccess mod-rewrite

我有以下内容:

RewriteRule ^tribute-acts/([^/.]*)/?$ /entertainment/act-view.html?act_name=$1 [L,QSA,NC]

更改:

http://mysite.com/entertainment/act-view.html?act_name=elvis

为:

http://mysite.com/tribute-acts/elvis

效果很好,但是如果tribute-acts部分是动态生成的并且每个链接都不同的话会怎么样?因此无限可能......

我可以使用通配符代替tribute-acts/吗?

我使用(.*)尝试了以下操作,但它不起作用:

RewriteRule ^(.*)/([^/.]*)/?$ /entertainment/act-view.html?act_name=$1 [L,QSA,NC]

1 个答案:

答案 0 :(得分:1)

您可以尝试以下规则:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^[^/]+/([^/]*)/?$ /entertainment/act-view.html?act_name=$1 [L,QSA]