- Home
- Categorie
- Digital Marketing
- Posizionamento Nei Motori di Ricerca
- URL Rewrite - problema ecommerce con variabili multiple
-
URL Rewrite - problema ecommerce con variabili multiple
Buongiorno a tutti,
spero possiate darmi una mano con un problema che mi attanaglia da giorni!
ho un CMS, del quale ho controllo completo in quanto l'ho creato personalmente. Sto cercando di fare un pò di url-rewrite usando htaccess, ma al di la di alcuni semplici passaggi, per altro funzionanti, per le cose un pò più difficili mi sono arenato... mi spiego:
All'interno del sito ho degli URL del tipo ....articoli.php/idsez=12&id=35 che mi identificano idsez( la sezione) ed id (numero articolo). a questi, in maniera random, si possono aggangiare altre variabili per stabilire la lingua, l'ordinamento per lettera o prezzo o altro, il numero di prodotti per pagina ecc... funziona così perchè una volta passata la variabile con GET viene presa dalla session e mantenuta fino al prossimo cambio. Con l'HTACCESS vorrei fare un po di url rewrite, percui ho scritto questo:
RewriteEngine On # attiva il sistema di URL rewrite
RewriteRule ^([A-Za-z0-9-]+)/index-([A-Za-z0-9-]+).html$ /content/dettsez.php?idsez=$2&rwtcat=$1 #regola valida per le categorie di prodotti
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)-([0-9]+)-([0-9]+).html$ /content/dettagliart.php?rwtcat=$1&id=$4&idsez=$3&rwtart=$2 valida per i singoli prodotti
ErrorDocument 404 .../errorpage.php?error=404
... questo per adesso fa il rewrite dei soli link che puntano alle sezioni e ai sui articoli, ma nulla a che vedere con le altre variabili che entrano in gioco in maniera casuale in tutto il sito.
Inoltre mi è stato suggerito, visto che il rewrite converte i nuovi indirizzi in quelli vecchi, di fare un 301 dai vecchi ai nuovi, ma mi va in loop...
Sapete consigliarmi una strada da seguire?
grazie mille a tutti!
-
Nessun aiuto in merito? anche solo una piccola idea?
-
Ciao Tommy09, premesso che non ho molte esperienze con URL Rewrite, tuttavia non escudo di aver trovato un piccolo errore a causa dell'assenza della direttiva Last, quindi quando trova la corrispondenza si ferma. Conseguentemente penso che si dovrebbe sostituire con [NC,L]
Mi sta venendo un dubbio vedendo NC (Not Case sensitive) che possa anche valere per il pattern che hai scritto, allora in tal caso potresti evitare di considerare solo le maiuscole nelle classi [A-Za-z0-9-] riducendosi in [a-z0-9-]
Non escludo che il 2° RewriteRule sia una ridondanza del precedente precedente perché focalizzando l'attenzione sul 2° gruppo catturato è in grado di riconoscere la stringa index-ciao-123-36.html alla fine dell'URL, che ha la stessa corrispondenza con la precedente RewriteRule.
Con queste premesse prova:
RewriteEngine On RewriteRule ^/([a-z0-9-]+)/index-([a-z0-9-]+).html$ /content/dettsez.php?idsez=$2&rwtcat=$1 [NC,L] # ##### ##### Per ora te lo lascio, al più cancella la seguente: ##### ##### RewriteRule ^/([a-z0-9-]+)/([a-z0-9-]+)-([0-9]+)-([0-9]+).html$ /content/dettagliart.php?rwtcat=$1&id=$4&idsez=$3&rwtart=$2 [NC,L] ErrorDocument 404 .../errorpage.php?error=404
Spero che ti sia di aiuto.
-
controllo subito, grazie mille!