.htaccess重写,我该如何做这个senario?
我想要.htaccess重写,我该如何做这个senario?
例如。
www.domain.com/api/json/implode/abc/and/a/b/c ...
等于
www.domain.com/api/jason/?method =爆&键= ABC &参数1 =和&参数2 =一个&参数3 = b & param4 = C ...
欢呼
詹姆斯
你可以做这样的事情:
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
即:东西都尾随可选PARAMS成一个单一的参数。
嗨,感谢您的回答,我知道有超过10个参数是愚蠢的,但我想知道是否有一个程序化的方式来做到这一点? – 2010-09-03 00:04:57
@詹姆斯林:如果你有这么多未命名的参数,你为什么需要它们成为独立的参数呢? – casablanca 2010-09-03 00:18:21
@casablanca因为从URL看起来更清洁 例如。 www.domain.com/api/json/add/1/2 www.domain.com/api/json/multiply/1/2/3 – 2010-09-03 01:10:56
我不认为这是可以动态地计算出的param
S上的号码,但你可以关闭做一些事情:
RewriteRule ^/api/json/([^/]+)/([^/]+)/(.*) /api/jason/?method=$1&key=$2¶ms=$3
这将提取method
和key
的个体,但把所有的附加参数为params
,您可以稍后在脚本中进行拆分。
这是否意味着“jason”或“json”? :-) – 2010-09-03 00:02:24
我想他在重写的URL中使用了'jason',以避免与原始URL冲突。 – casablanca 2010-09-03 00:03:56
大声笑,这是一个错别字对不起!!!!!!应该已经www.domain.com/api/json/... – 2010-09-03 00:15:29