RewriteRule ^abc/([0-9]+)/([0-9]+)([0-9]+)/([0-9]+)([0-9]+)/([0-9]+)\.html$ abc.php?id1=$1&id2=$2&id3=$3&id4=$4&id5=$5&id6=$6 如果6个参数都有,则上面的伪静态语句是没问题的。现在问题是:6个参数(id1--id6)是不确定的,有时候是id1,id2,有时候是id1,id4等,如果参数不全(id1-id6),用上面的语句是不行的,想请教如果参数不确定,这个伪静态应该怎么写?多谢
RewriteRule ^abc/([0-9]+)/([0-9]+)\.html$ abc.php?id1=$1&id2=$2 [L]
RewriteRule ^abc/([0-9]+)/([0-9]+)([0-9]+)\.html$ abc.php?id1=$1&id2=$2&id3=$3 [L]
RewriteRule ^abc/([0-9]+)/([0-9]+)([0-9]+)/([0-9]+)\.html$ abc.php?id1=$1&id2=$2&id3=$3&id4=$4 [L]
RewriteRule ^abc/([0-9]+)/([0-9]+)([0-9]+)/([0-9]+)([0-9]+)\.html$ abc.php?id1=$1&id2=$2&id3=$3&id4=$4&id5=$5 [L]
RewriteRule ^abc/([0-9]+)/([0-9]+)([0-9]+)/([0-9]+)([0-9]+)/([0-9]+)\.html$ abc.php?id1=$1&id2=$2&id3=$3&id4=$4&id5=$5&id6=$6
abc/12/12345/12345/12345.html
这样一个url ,你能区分$2,$3,$4,$5分别是什么吗?
但是假如加个分隔号
abc/12/123-45/12-345/12345.html
就基本可以知道
$1 -> 12
$2 -> 123
$3 -> 45
..
..
..
而且也方便去写替换正则
RewriteRule ^abc/([0-9]+)/([0-9]+)([0-9]+)/([0-9]+)([0-9]+)/([0-9]+)\.html$ abc.php?id1=$1&id2=$2&id3=$3&id4=$4&id5=$5&id6=$6
中
([0-9]+)([0-9]+) 之间没有分割符,本身就不能得到唯一结果
12345 可分成
1 2345
12 345
123 45
1234 5
这些都符合规则,但肯定不都是你想要的假定分隔符为 _
则可写作
RewriteRule ^abc/([0-9]*)/([0-9]*)_([0-9]*)/([0-9]*)_([0-9]*)/([0-9]*)\.html$ abc.php?id1=$1&id2=$2&id3=$3&id4=$4&id5=$5&id6=$6