我的网址:
x.com/ara?il=伊斯坦布尔&ilce=avcilar&marka=opel&型号=corsa
x.com/rent/istanbul-avcilar-opel-corsa
在htaccess中:
RewriteRule ^rent/([0-9a-zA-Z-_]+)-([0-9a-zA-Z-_]+)-([0-9a-zA-Z-_]+)-([0-9a-zA-Z-_]+)$ ara.php?il=$1&ilce=$2&marka=$3&model=$4 [L,QSA]
如果所有参数都存在,它就会工作。但如果url中没有ilce或模型参数,则不起作用。
所以我希望它也能在这些情况下工作
x.com/ara?il=istanbul&marka=opel&model=corsa
x.com/rent/istanbul-opel-corsa
x.com/ara?il=istanbul&marka=opel
x.com/rent/istanbul-opel
x.com/ara?il=istanbul&ilce=avcilar&marka=opel
x.com/rent/istanbul-avcilar-opel
htaccess应该如何实现?
对于您显示的示例,您可以尝试以下操作吗。请确保在测试URL之前清除浏览器缓存。
RewriteEngine ON
##Rule for rewrite of (x.com/rent/istanbul-opel-corsa) TO (x.com/ara?il=istanbul&marka=opel&model=corsa) url.
RewriteRule ^rent/(istanbul)-(opel)-(corsa)/?$ ara?il=$1&marka=$2&model=$3 [NC,L]
##Rule for rewrite of (x.com/rent/istanbul-opel) TO (x.com/ara?il=istanbul&marka=opel) url.
RewriteRule ^rent/(istanbul)-(opel)/?$ ara?il=$1&marka=$2 [NC,L]
##Rule for rewrite of (x.com/rent/istanbul-avcilar-opel) TO (x.com/ara?il=istanbul&ilce=avcilar&marka=opel) url.
RewriteRule ^rent/(istanbul)-(avcilar)-(opel)/?$ ara?il=$1&marka=$2&model=$3 [NC,L]
对于通用规则集,请尝试以下操作:
RewriteEngine ON
##Rule for rewrite of (x.com/rent/istanbul-opel-corsa) TO (x.com/ara?il=istanbul&marka=opel&model=corsa) url.
RewriteRule ^rent/([^-]*)-([^-]*)-(.*)/?$ ara?il=$1&marka=$2&model=$3 [NC,L]
##Rule for rewrite of (x.com/rent/istanbul-opel) TO (x.com/ara?il=istanbul&marka=opel) url.
RewriteRule ^rent/([^-]*)-([^-]*)/?$ ara?il=$1&marka=$2 [NC,L]