- Home
- Categorie
- La Community Connect.gt
- Tutto sulla Community
- Redirect con Htaccess
-
Redirect con Htaccess
Ciao a tutti! Sto un pochino sclerando e avrei bisogno di aiuto. Ho un sito in Joomla con il componente per il rewrite automatico degli url.
Il problema è che nel sistema di rewrite viene incluso il nome della directory e io la vorrei cambiare... ma così perdo i link a quella pagina.
Così vorrei fare un 301 con htaccess... ma non so la sintassi, dove devo scriverlo e, non essendo un tecnico, faccio un po fatica ad orientarmi nei post che trovo in rete.
Sapete aiutarmi?
-
Puoi fare un esempio pratico di quale è la tua url di partenza e quale quella di arrivo?
Che componente usi? Con alcuni componenti (sh404, Artio e credo anche OpenSef) puoi impostare una struttura di url tipo:
sezione / categoria / titolocontenuto.html
a quel punto è sufficiente che tu cambi a tuo piacimento uno o più degli elementi ed il gioco è fatto. Inoltre sh404 sicuramente, ma forse anche gli altri gestiscono in automatico il redirect 301 dalle vecchie url non SEF di Joomla ed anche dalle url SEF del modulino nativo di Joomla.
-
Per farti un esempio,
Dovrebbe essere ridirezionata con 301 a :
http://www.futuraimmagine.com/index.php/soluzioni-web/Costruzione-siti-web-con-Joomla.html
Sh404 gestisce i redirect, ma devo dargli la vecchia URL non sef, invece il mio problema è che devo fare un redirect da un vecchio indirizzo Sef ad un'altro.
Il discorso delle directory è fattibilissimo, ma se cambio il parametro senza redirect mi perdo tutti i link in ingresso...
-
Forse siamo fortunati...
Prova così:
RewriteRule ^http://www.futuraimmagine.com/index.php/Futura-Immagine/(.[^.]*).html$ http://www.futuraimmagine.com/index.php/$1.html [L, R=301]
-
No aspetta, forse non mi spiego bene
dovrei fare un redirect solo per quella pagina, non creare una regola che vale per tutte... è possibile?
-
Allora è più semplice:
RewriteRule ^http://www.futuraimmagine.com/index.php/Futura-Immagine/soluzioni-web/Costruzione-siti-web-con-Joomla.html$ http://www.futuraimmagine.com/index.php/soluzioni-web/Costruzione-siti-web-con-Joomla.html [L, R=301]
-
nada, mi apre la 404 del sistema sef...
c'e' un posto particolare in cui lo devo mettere?
In pratica il codice corretto è questo (un articolo a cui ora ho spostato la categoria da newsflash a soluzioni web)RewriteRule ^http://www.futuraimmagine.com/index.php/Futura-Immagine/Notizie-Flash/Realizzazione-siti-con-Joomla.html$ http://www.futuraimmagine.com/index.php/Futura-Immagine/soluzioni-web/Costruzione-siti-web-con-Joomla.html [L, R=301]
-
Tu dove l'hai messo esattamente?
-
Dai un'occhiata al file .htaccess e prova a mettere la regola subito dopo questa riga:
RewriteBase /
-
la riga rewrite base è commentata, credo la sostituisca
rewriteengine onfacciamo così...
posto il file!
-
Ma così ti funziona?
Perché il caso è interessante: si tratta di integrare il mod_rewrite di Joomla, con un componente SEF con delle regole personalizzate.
-
no, non funzia. Mi da il 404 del componente di Joomla
-
Ma se usi sh404 hai provato a svuotare la cache? O a eliminare dal db del componente, fra le opzioni "mostra 404" la riga relativa a quella pagina?
-
Le opzioni di 404sh non aiutano.
Posso fare un redirect, ma una delle pagine non deve essere, ovviamente, già un indirizzo Sef (mi chiede l'indirizzo non sef).
Non posso escludere che io sappia una singola pagina, e comunque mi serve che il vecchio indirizzo esista. Solo deve essere redirezionato...
mi sa che non c'e' via di uscita...
-
Hai provato a utilizzare l'opzione di non usare la chache (nel pannello di configurazione, nella linguetta "avanzate", mi pare)?
Infine: un altro problema che abbiamo incontrato con sh404 è che scrive un file con l'elenco di tutti gli indirizzi.
Il file è in components/com_sef/cache/shCacheContent.php.
Prova a cancellare tutte le url 404 dal pannello, sovrascrivere quello esistente con uno vuoto con qs righe:
<?php // shCache : URL cache file for sh404SEF //Version w2 - BETA - <a href="<A href="http://extensions.siliana.net">extensions.Siliana.net</a">http://extensions.siliana.net">extensions.Siliana.net</a> if (!defined('_VALID_MOS')) die('Direct Access to this location is not allowed.'); ?>
e a far rigenerare la cache dal pannello di controllo.
-
si la cache naturalemnte l'avevo svuotata sia negli indirizzi 404 che SEF e anche per gli indirizzamenti personalizzati (non si sa mai).
quel file non c'e' la cartella cache di com_sef è vuota...
niente, rimetto l'url com'era, tanto non credo che una parola in più nell'indirizzo faccia sta mega differenza nell'indicizzazione.
Grazie comunque per la mattinata dedicata!