具有不同参数的 htaccess
htaccess with different parameters
我正在尝试通过 .htaccess 文件在我的 url 中添加一个参数。我有 5 个参数,3 个整数,1 个浮点数(例如 3.5)和一个字符串。
有4个参数,没有字符串,效果很好;但是如果我尝试添加第五个参数,这个 get 变量将采用第四个参数(浮点数)的小数部分。
我不明白为什么。这是带有 4 个参数的 htaccess 行:
RewriteRule sedi/([0-9]+)/ripetizioni/filtra/([0-9]+)&([0-9]+)&([0-9](.[0-9])?)$ tutor.php?id=&p=&z=&v= [L]
相反,当我添加第五个参数时,该行变为:
RewriteRule sedi/([0-9]+)/ripetizioni/filtra/([0-9]+)&([0-9]+)&([0-9](.[0-9])?)&([A-Za-z0-9-]+)$ tutor.php?id=&p=&z=&v=&search= [L]
例如,如果search是"mathematics",v是3.5
,url取值正确,但是search的get变量取值.5
RewriteRule sedi/([0-9]+) - 1
/ripetizioni/filtra/([0-9]+)& - 2
([0-9]+)& - 3
([0-9](.[0-9])?)& - 4/5
([A-Za-z0-9-]+)$ - 6
tutor.php?id=&p=&z=&v=&search= [L]
我猜错了第5个元素的地方。但是,如果您需要带点的第 5 个元素,则需要应用:\。 (斜线点,转义点符号)规则
编辑:
你的第 5 个元素在第 4 个里面,所以你想要的第 5 个元素是第 6 个,所以试试这个:
([0-9](\.[0-9])?)& - 4/5
tutor.php?id=&p=&z=&v=&search= [L]
改用以下规则:
RewriteRule sedi/(\d+)/ripetizioni/filtra/(\d+)&(\d+)&([.\d]+)&([a-z\d]+)$ tutor.php?id=&p=&z=&v=&search= [NC,L]
您遇到的行为正是因为jskindle在the other answer中提到的原因。
我正在尝试通过 .htaccess 文件在我的 url 中添加一个参数。我有 5 个参数,3 个整数,1 个浮点数(例如 3.5)和一个字符串。
有4个参数,没有字符串,效果很好;但是如果我尝试添加第五个参数,这个 get 变量将采用第四个参数(浮点数)的小数部分。
我不明白为什么。这是带有 4 个参数的 htaccess 行:
RewriteRule sedi/([0-9]+)/ripetizioni/filtra/([0-9]+)&([0-9]+)&([0-9](.[0-9])?)$ tutor.php?id=&p=&z=&v= [L]
相反,当我添加第五个参数时,该行变为:
RewriteRule sedi/([0-9]+)/ripetizioni/filtra/([0-9]+)&([0-9]+)&([0-9](.[0-9])?)&([A-Za-z0-9-]+)$ tutor.php?id=&p=&z=&v=&search= [L]
例如,如果search是"mathematics",v是3.5
,url取值正确,但是search的get变量取值.5
RewriteRule sedi/([0-9]+) - 1
/ripetizioni/filtra/([0-9]+)& - 2
([0-9]+)& - 3
([0-9](.[0-9])?)& - 4/5
([A-Za-z0-9-]+)$ - 6
tutor.php?id=&p=&z=&v=&search= [L]
我猜错了第5个元素的地方。但是,如果您需要带点的第 5 个元素,则需要应用:\。 (斜线点,转义点符号)规则
编辑:
你的第 5 个元素在第 4 个里面,所以你想要的第 5 个元素是第 6 个,所以试试这个:
([0-9](\.[0-9])?)& - 4/5
tutor.php?id=&p=&z=&v=&search= [L]
改用以下规则:
RewriteRule sedi/(\d+)/ripetizioni/filtra/(\d+)&(\d+)&([.\d]+)&([a-z\d]+)$ tutor.php?id=&p=&z=&v=&search= [NC,L]
您遇到的行为正是因为jskindle在the other answer中提到的原因。