分隔符和多个参数

时间:2014-06-10 16:05:43

标签: php .htaccess mod-rewrite

我正在尝试使用mod_rewrite模块来创建流畅的URL。例如,我的example.com/pages/group/index.php?id=1&slug=example-keyword将成为example.com/group/1-example-keyword

我遇到的问题是第二个参数以及如何拆分。由于第二个参数使用短划线,我怎么能解决这个问题,因为它会抛出404错误。

.htaccess rule

RewriteRule ^group/([^-]*)-([^-]*)$ /pages/group/index.php?id=$1&slug=$2 [L]

1 个答案:

答案 0 :(得分:0)

您的正则表达式明确禁止第一组和第二组中的破折号。

在第二组中使用.(任意字符)代替[^-](除-以外的任何字符)尝试此操作:

RewriteRule ^group/([^-]*)-(.*)$ /pages/group/index.php?id=$1&slug=$2 [L]

在此表达式中,{1}}之后但第一个group/之前的所有内容都将在第1组中捕获,第一个-之后的所有内容都将在第2组中捕获。