Joomla.it Forum
Componenti per Joomla! => SEO => : massikk 17 Nov 2019, 19:39:29
-
Salve, avrei bisogno di qualche guru per sapere se esiste una regola particolare per htaccess.
In pratica dovrei rinominare le url che hanno al loro interno una particolare cartella...
esempio pratico
www.miosito.it/cartella1/lamiacategoria/dettagli/pagina.html (http://www.miosito.it/cartella1/lamiacategoria/dettagli/pagina.html)
www.miosito.it/cartella2/lamiacategoria/dettagli/pagina2.html (http://www.miosito.it/cartella2/lamiacategoria/dettagli/pagina2.html)
www.miosito.it/cartella3/lamiacategoria/dettagli/pagina3.html (http://www.miosito.it/cartella3/lamiacategoria/dettagli/pagina3.html)
dovrebbero diventare
www.miosito.it/nuovacartella/123-lamiacategoria/dettagli/pagina.html (http://www.miosito.it/nuovacartella/123-lamiacategoria/dettagli/pagina.html)
www.miosito.it/nuovacartella/123-lamiacategoria/dettagli/pagina2.html (http://www.miosito.it/nuovacartella/123-lamiacategoria/dettagli/pagina2.html)
www.miosito.it/nuovacartella/123-lamiacategoria/dettagli/pagina3.html (http://www.miosito.it/nuovacartella/123-lamiacategoria/dettagli/pagina3.html)
quindi avrei bisogno di una regola che trova all'interno dell'url una determinata cartella... rinomina la cartella ( o le cartelle ) prima, e rimane invariato il dopo... è possibile??
-
2 cose:
1) un titolo esplicativo
2) l'ultima ringa non si legge
per cortesia modifica il titolo e fai in modo che tutto sia leggibile, grazie della collaborazione.
-
titolo modificato.. adesso posto la soluzione che forse ho trovato scervellandomi e cercando in qua e la :D
# Questa regola dice che quando la base è giusta non deve eseguire il redirect, senza questa regola il browser da errore perchè creeremmo un loop infinito
RewriteRule ^(sottocat/CATEGORIA)($|/) - [L]
# Questa regola cerca tutte le cartelle CATEGORIA/detail/ che hanno un'altra cartella che le precede ed esegue un redirect 301 a quella giusta
RewriteRule ^/?([^/]+)/CATEGORIA/detail/(.*) https://www.miosito.com/sottocat/CATEGORIA/detail/ (https://www.miosito.com/sottocat/CATEGORIA/detail/)$2 [R=301,NC,L]
# Questa regola cerca tutte le cartelle CATEGORIA/detail/ che hanno due cartelle che le precedono ed esegue un redirect 301 a quella giusta
RewriteRule ^/?([^/]+)/?([^/]+)/CATEGORIA/detail/(.*) https://www.miosito.com/sottocat/CATEGORIA/detail/ (https://www.miosito.com/sottocat/CATEGORIA/detail/)$3 [R=301,NC,L]
Adesso aspetto di vedere se il componente redirect non mi da più migliaia di errori.. ma penso funzioni
-
Correggo per una regola ancora migliore... la prima regola va eliminata e sostituita con la seguente, che andrà ripetuta anche prima della seconda regola.
In pratica invece di escludere da qualsiasi redirect e rewrtie sottocat/CATEGORIA/ e file annessi, dice che esclude quelle cartelle e i suoi file solo dalla regola che segue.
RewriteCond %{REQUEST_URI} !^/sottocat/CATEGORIA/(.*)
Nel mio caso, quindi usando queste regole per phocagallery, con la regola che avevo detto in precedenza funzionava tutto ma non mi permetteva i download delle immagini ( pagina?phocadownload=2 ), appunto perchè escludevo l'intera categoria dal rewrite... adesso che invece la categoria l'ho esclusa solo dalla singola regola funziona tutto egregiamente!
-
ricordati il [RISOLTO] per cortesia
-
Messo il risolto ;)
Ti chiedo solo una cosa se sai rispondermi, ci sono consigli sulla lunghezza del file htaccess?
Il mio adesso contiene 1715 righe (purtroppo avendo fatto un casino con joomla 1.5 e avendo inserito un centinaio di voci di menu erano necessarie tutte queste regole affinchè non ci fossero pagine 404).. il sito non ha rallentamenti ed anche con i test online si apre molto velocemente, però non so se ci sono delle linee guida da seguire per non appesantire troppo l'htaccess...
-
@massikk
Non dimenticarti mai la regola di un post, una richiesta, quindi per altre richieste apri sempre un nuovo post, questo aiuta a usufruire meglio il forum e tenerlo ordinato per le ricerche.