Вам не нужно группировать каждый атом в вашем шаблоне. Например, (-(([0-9+])-([a-z-+]+)+))?
может быть уменьшено до (-([0-9+])-([a-z-+]+))?
:
RewriteRule\
^oferte-cel-mai-bun-pret(-(apartamente|garsoniere|case|vile|birouri|spatii-comerciale|spatii-industriale|mini-hoteluri-pensiuni|ferme|proprietati-speciale|terenuri-intravilane|terenuri-extravilane))?(-([0-9+])-([a-z-+]+))?-(vanzare|inchiriere)/([a-z-+]+)(/pagina-([0-9]+))?/?$\
index.php?seo[]=anunturi&tip_categorie=$2&nr=$4&tip_numar=$5&cmbp_$6=1&tip_cautare=$6&judet=$7&pagina=$9 [L,QSA]
С этим вы можете сократить 12 групп до 9.
А если вы используете Apache 2, вы можете использовать группы без захвата (?:…)
вместо обычных групп (…)
. Совпадения некапутрирующих групп нельзя ссылать. Поэтому используйте обычные группы для всего, на что вы хотите ссылаться, и используйте группы без захвата для всего остального:
RewriteRule\
^oferte-cel-mai-bun-pret(?:-(apartamente|garsoniere|case|vile|birouri|spatii-comerciale|spatii-industriale|mini-hoteluri-pensiuni|ferme|proprietati-speciale|terenuri-intravilane|terenuri-extravilane))?(?:-([0-9+])-([a-z-+]+))?-(vanzare|inchiriere)/([a-z-+]+)(?:/pagina-([0-9]+))?/?$\
index.php?seo[]=anunturi&tip_categorie=$1&nr=$2&tip_numar=$3&cmbp_$4=1&tip_cautare=$4&judet=$5&pagina=$6 [L,QSA]