Salve, sto cercando di creare un plugin per l'urlrewrite per chi non usa cms come wordpress e joomla. Per far questo avrei bisogno di capire come questi ultimi funzionano. Ho visto che worspress non scrive le regole nell'htaccess tranne alcune ma legge tutto dal db e a runtime le modifica (non so se ho capito bene). Adesso vorrei, ad esempio, creare delle regole in base a submit da un form di ricerca a piu campi. In base ai campi selezionati costruire una url friendly e dinamica.
Scrivendo le regole direttamente nell'htaccess, ho qualcosa di questo tipo:
#PER CONTRATTO TIPOLOGIA PROVINCIA E PAGINAZIONE
RewriteCond %{REQUEST_URI} ricerca_avanzata.php$
RewriteCond %{QUERY_STRING} ^provincia=([A-Za-z1-9+]+)&VF=([A-Za-z1-9+]+)&tipologia=([A-Za-z1-9-+]+)&superficie=0&NRIF=&submit2=VAI&pag=([1-9+]+)$
RewriteRule ^(.)$ /panoramaimmobiliare/%2-di-%3-a-%1-pagina-%4? [R=301,L]
#operazione inversa della regola di sopra
RewriteRule ^([^/])-di-([^/])-a-([^/])-pagina-([^/]*)$ ricerca_avanzata.php?provincia=$3&VF=$1&tipologia=$2&superficie=0&NRIF=&submit2=VAI&pag=$4$
RewriteCond %{REQUEST_URI} ricerca_avanzata.php$
RewriteCond %{QUERY_STRING} ^provincia=([A-Za-z1-9+]+)&VF=([A-Za-z1-9+]+)&tipologia=([A-Za-z1-9-+]+)&superficie=0&NRIF=&submit2=VAI$
RewriteRule ^(.)$ /panoramaimmobiliare/%2-di-%3-a-%1? [R=301,L]
inversa della regola di sopra
RewriteRule ^([^/])-di-([^/])-a-([^/])$ ricerca_avanzata.php?provincia=$3&VF=$1&tipologia=$2&superficie=0&NRIF=&submit2=VAI$
RewriteCond %{REQUEST_URI} ricerca_avanzata.php$
RewriteCond %{QUERY_STRING} ^provincia=([A-Za-z1-9+]+)&VF=0&tipologia=([A-Za-z1-9-+]+)&superficie=0&NRIF=&submit2=VAI&pag=([1-9+]+)$
RewriteRule ^(.)$ /panoramaimmobiliare/%2-a-%1-pagina-%3? [R=301,L]
inversa della regola di sopra
RewriteRule ^([^/])-a-([^/])-pagina-([^/])$ ricerca_avanzata.php?provincia=$2&VF=0&tipologia=$1&superficie=0&NRIF=&submit2=VAI&pag=$3$
RewriteCond %{REQUEST_URI} ricerca_avanzata.php$
RewriteCond %{QUERY_STRING} ^provincia=([A-Za-z1-9+]+)&VF=0&tipologia=([A-Za-z1-9-+]+)&superficie=0&NRIF=&submit2=VAI$
RewriteRule ^(.)$ /panoramaimmobiliare/%2-a-%1? [R=301,L]
inversa della regola di sopra
RewriteRule ^([^/])-a-([^/]*)$ ricerca_avanzata.php?provincia=$2&VF=0&tipologia=$1&superficie=0&NRIF=&submit2=VAI$
RewriteCond %{REQUEST_URI} ricerca_avanzata.php$
RewriteCond %{QUERY_STRING} ^provincia=0&VF=([A-Za-z1-9+]+)&tipologia=([A-Za-z1-9-+]+)&superficie=0&NRIF=&submit2=VAI&pag=([1-9+]+)$
RewriteRule ^(.)$ /panoramaimmobiliare/%2-in-%1-pagina-%3? [R=301,L]
inversa della regola di sopra
RewriteRule ^([^/])-in-([^/])-pagina-([^/])$ ricerca_avanzata.php?provincia=0&VF=$2&tipologia=$1&superficie=0&NRIF=&submit2=VAI&pag=$3$
RewriteCond %{REQUEST_URI} ricerca_avanzata.php$
RewriteCond %{QUERY_STRING} ^provincia=0&VF=([A-Za-z1-9+]+)&tipologia=([A-Za-z1-9-+]+)&superficie=0&NRIF=&submit2=VAI$
RewriteRule ^(.)$ /panoramaimmobiliare/%2-in-%1? [R=301,L]
inversa della regola di sopra
RewriteRule ^([^/])-in-([^-]*)$ ricerca_avanzata.php?provincia=0&VF=$2&tipologia=$1&superficie=0&NRIF=&submit2=VAI$
RewriteCond %{REQUEST_URI} ricerca_avanzata.php$
RewriteCond %{QUERY_STRING} ^provincia=([A-Za-z1-9+]+)&VF=([A-Za-z1-9+]+)&tipologia=0&superficie=0&NRIF=&submit2=VAI&pag=([1-9+]+)$
RewriteRule ^(.)$ /panoramaimmobiliare/%1-%2-pagina-%3? [R=301,L]
inversa della regola di sopra
RewriteRule ^([^/])-([^/])-pagina-([^/])$ ricerca_avanzata.php?provincia=$1&VF=$2&tipologia=0&superficie=0&NRIF=&submit2=VAI&pag=$3$
ecc.ecc.
Il problema è che queste sono solo la combinazione di 3 parametri capirete che se i parametri coinvolti sono di piu la cosa diventa esponenziale e di difficile gestione.
Vorrei quindi creare qualcosa che permetta di lavorare come wordpress.
Qualcuno ha indicazioni e info utili a questo fine?
Grazie.