我想
例如
... www.domain.com/api/json/implode/abc/and/a/b/c
等于
... www.domain.com/api/jason/?method=implode&key=abc¶m1=and¶m2=a¶m3=b¶m4=c
答案 0 :(得分:1)
你可以这样做:
RewriteRule ^/api/json/([/]*)/([/]*)$ /api/jason/method=$1&key=$2
RewriteRule ^/api/json/([/]*)/([/]*)/([/]*)$ /api/jason/method=$1&key=$2¶m1=$3
RewriteRule ^/api/json/([/]*)/([/]*)/([/]*)/([/]*)$ /api/jason/method=$1&key=$2¶m1=$3¶m2=$4
RewriteRule ^/api/json/([/]*)/([/]*)/([/]*)/([/]*)/([/]*)$ /api/jason/method=$1&key=$2¶m1=$3¶m2=$4¶m3=$5
RewriteRule ^/api/json/([/]*)/([/]*)/([/]*)/([/]*)/([/]*)/([/]*)$ /api/jason/method=$1&key=$2¶m1=$3¶m2=$4¶m3=$5¶m4=$6
# keep expanding this pattern out for however many paramas you need to be
# able to handle...
但清洁工将是这样的:
RewriteRule ^/api/json/([/]*)/([/]*)$ /api/jason/method=$1&key=$2
RewriteRule ^/api/json/([/]*)/([/]*)/(.*)$ /api/jason/method=$1&key=$2¶ms=$3
ie:将所有尾随的可选参数填充到单个参数中。
答案 1 :(得分:1)
我认为不可能动态计算出param
的数量,但你可以做一些接近的事情:
RewriteRule ^/api/json/([^/]+)/([^/]+)/(.*) /api/jason/?method=$1&key=$2¶ms=$3
这会分别提取method
和key
,但会将所有其他参数放入params
,您可以稍后在脚本中拆分。