htaccess在第二次重写时重写丢失$ _GET?

时间:2011-07-26 06:00:17

标签: .htaccess

以下是我的两次重写:

RewriteRule folder/(.*)/$ /folder/subfolder/index.php?s=$1
RewriteRule folder/(.*)/review/$ /folder/subfolder/review.php?s=$1

第一次重写非常有效,例如:

http://www.site.com/folder/hello/

但第二个:

http://www.site.com/folder/hello/review/

它没有传递“你好”作为$ _GET结束。

为什么第二次重写失去了参数?

1 个答案:

答案 0 :(得分:1)

因为它正在读取(。*)以包含“... site.com/folder/hello/review / ”,然后与任何重写规则都不匹配。 将重写规则更改为:

RewriteRule文件夹/([0-9a-zA-Z - ] +)/ review / $ /folder/subfolder/review.php?s=$1

这会将其限制为字母数字和“ - ”字符。