Piszę moduł do przyjaznych linków w oscommerce2 i zabija mnie ilość reguł rewrite w .htaccess, przez chaos w linkach na stronie (raz przekazywana nazwa kategorii, innym razem nie) muszę uwzglęniać każdą opcję.
Nie posiadam dużej wiedzy o regexp, więc jeśli te reguły można jakoś zoptymalizować to proszę o radę.
Np. taka nazwa produktu w pierwszej linii (.*?). Czy można zrobić w tym jakiegoś ifa (jeśli jest to przekaż nazwę do ?_cname_, a jak nie ma to olej).
Załączam fragment reguł. Aktualnie, żeby to dało się jakoś ogarnąć piszę sobię automat, którym mógłbym ogarnąć każdą permutację tych wartości, ale pytam czy nie ma prostszej drogi.
Fragment .htaccess:
<?php
RewriteRule ^kategoria/([0-9_]+)/produkt/([0-9_]+)/(.*?)/strona/([0-9]+)/na_strone/([0-9]+)$
index.php?cPath=$1&products_id=$2&_pname_=$3&page=$4&prds_per_site=$5
RewriteRule ^kategoria/([0-9]+)/produkt/([0-9_]+)/(.*?)/strona/([0-9]+)$
index.php?cPath=$1&_pname_=$2&page=$3&_pname_=$4
RewriteRule ^kategoria/([0-9_]+)/produkt/([0-9_]+)/(.*?)/na_strone/([0-9]+)?$
index.php?cPath=$1&_pname_=$2&prds_per_site=$3
RewriteRule ^kategoria/([0-9]+)/produkt/([0-9]+)/(.*)/typ/([0-9]+)/dodaj_do_koszyka$
index.php?cPath=$1&products_id=$2&_pname_=$3&product_type=$4&action=buy_now
RewriteRule ^kategoria/([0-9]+)/produkt/([0-9]+)/typ/([0-9]+)/dodaj_do_koszyka$
index.php?cPath=$1&products_id=$2&product_type=$3&action=buy_now
RewriteRule ^kategoria/([0-9]+)/produkt/([0-9]+)/(.*)/typ/([0-9]+)$
index.php?cPath=$1&products_id=$2&_pname_=$3&product_type=$4
RewriteRule ^kategoria/([0-9]+)/produkt/([0-9]+)/typ/([0-9]+)$
index.php?cPath=$1&products_id=$2&product_type=$3
RewriteRule ^kategoria/([0-9]+)/produkt/([0-9]+)/(.*)/kup$
product_info.php?cPath=$1&products_id=$2&_pname_=$3&action=buy_now
RewriteRule ^kategoria/([0-9]+)/produkt/([0-9]+)/(.*)$
index.php?cPath=$1&products_id=$2&_pname_=$3
RewriteRule ^kategoria/([0-9]+)/produkt/([0-9_]+)$
index.php?cPath=$1&products_id=$2
?>