基于一个参数的mod重写

时间:2017-02-08 23:25:49

标签: .htaccess mod-rewrite

晚上,我正在尝试制定一个规则来转换它:

https://example.com/pt/herbario/cons_reg_ncom2.asp?ncomum=Marmeleiro+unedo&Submit3=Pesquisar&ID=1640

进入这个:

https://example.com/pesquisa/ncomum/Marmeleiro+unedo

现在我有这个:

RewriteRule ^pt/herbario/cons_reg_ncom2.asp(.*)$ /pesquisa/ncomum/$1 [L, QSA]

但根据http://htaccess.madewithlove.be/,这会重定向到这样的网址:

https://example.com/pesquisa/ncomum/?ncomum=Marmeleiro+unedo&Submit3=Pesquisar&ID=1640

我已经尝试改为([^&]),但没有运气......我错过了什么?

提前致谢

1 个答案:

答案 0 :(得分:0)

查询字符串不是RewriteRule URI的一部分。你必须使用:

RewriteEngine on
RewriteCond %{QUERY_STRING} (?:^|&)ncomum=([^&]*)(?:&|$) [NC]
RewriteRule ^pt/herbario/cons_reg_ncom2\.asp$ /pesquisa/ncomum/%1? [NC,L]