1

目前我在我的 .htaccess 中有这个重写规则来[value]传递http://www.site.com/[value]/page?q=[value]

RewriteRule ^([a-zA-Z0-9_-]+)$ page?q=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ page?q=$1

我怎样才能实现以下额外的重写:

http://www.site.com/foo/1-> http://www.site.com/page?param=1 http://www.site.com/bar/1-> http://www.site.com/page?param2=1 http://www.site.com/baz/1->http://www.site.com/page2?param=1

4

1 回答 1

1

由于级别较高,通过在旧的前面添加更多的重写,规则应该在旧的前面:

RewriteRule ^bar/([1-9])$                  page?param2=$1 [L]
RewriteRule ^baz/([1-9])$                  page2?param=$1 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/([1-9])$     page?param=$2 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/$            page?q=$1  [L]
RewriteRule ^([a-zA-Z0-9_-]+)$             page?q=$1  [L]
于 2012-10-09T13:21:34.597 回答