Back to top

Autore Topic: Modificare url e percorsi in .htaccess con le funzionalità di mod_rewrite  (Letto 23861 volte)

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Questo articolo spiega le basi del funzionamento del mod_rewrite usato da joomla per le funzioni SEO.
Non ha la pretesa di insegnare, ma illustra alcuni esempi comuni in ambito Joomla! spiegandone dettagliatamente, e spero chiaramente ;) , il funzionamento.

Un'avvertenza l'artico è abbastanza 'tosto', nel senso che è un discreto mattone ;D


Link: http://www.joomla.it/articoli-della-community/4040-modificare-gli-url-in-htaccess-con-le-funzioni-di-modrewrite.html

ciao,
marco

« Ultima modifica: 29 Gen 2010, 17:00:23 da alexred »
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline maicolstaip

  • Global Moderator
  • Instancabile
  • ********
  • Post: 17623
  • Sesso: Maschio
    • Mostra profilo
Molto bene!
Non è affatto un mattone, certo bisogna leggerlo attentamente ma spiega molto bene il perchè ed il per come.
Bravo.
Non si risponde a PM tecnici. Postate sul forum. Grazie.

Offline volponerosso

  • Appassionato
  • ***
  • Post: 348
  • Sesso: Maschio
    • Mostra profilo
la tua guida è davvero utile!! Complimenti. Posso farti una domanda? Dopo che ottimizzo per il SEO quindi cambiano il nome dei menu con gli alias.. come faccio a richiamare un articolo senza passare dal menu? Prima sostituivo l' id ma ora se faccio cosi miosito.it/joomla/nomealias

non funziona  ;)

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
 >:( senti un po' volponerosso,

il fatto che nessuno abbia risposto a questa domanda nel tuo topic significa che:
a) nessuno lo sa
b) non si può

qui l'argomento è OT

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline volponerosso

  • Appassionato
  • ***
  • Post: 348
  • Sesso: Maschio
    • Mostra profilo
non mi sembrava molto off topic visto che si parla proprio di alias, ma se è cosi va bene

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
una piccola aggiunta:
nel caso si usi la RewriteRule per nascondere la directory di installazione di joomla è necessario valorizzare $live_site in configuration.php indicando l'indirizzo del sito senza la citata subdir, altrimenti joomla la riproporrà in ogni link.

ma mi spiegate che noia vi dà?  ;D

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline volponerosso

  • Appassionato
  • ***
  • Post: 348
  • Sesso: Maschio
    • Mostra profilo
l' unica noia che da è che non si può richiamare un articolo senza prima metterlo in un menu.. o che sia collegato ad un menu.

Se si ha un articolo che non è collegato al menu non si richiama e da errore 404... se invece ha menu esempio categoria blog il link funziona perfettamente  ???

Offline LuxorTheFirst

  • Appassionato
  • ***
  • Post: 214
  • Sesso: Maschio
  • Gran Rompi-bug
    • Mostra profilo
Ciao mmleoni, sto provando la tua guida, a fini SEO, la sezione per reindirizzare da / al www.

Purtroppo non riesco a farla funzionare o meglio...

1) se uso il mod rewrite da te proposti (sia quello col nome da inserire sia quella da te ottimizzato che non richiede la personalizzazione del codice) non cambia nulla, ovvero non ridirige al www.

2) se provo a usare la sintassi
Codice: [Seleziona]
Redirect 301 / http://www.miosito.com/il browser (chrome, mozilla, opera, ecc) mi dà quest'errore:
Citazione
Questa pagina non reindirizza in modo corretto       

Firefox ha rilevato che il server sta reindirizzando la richiesta per questa pagina in modo che non possa mai essere completata.

 *   Questo problema spesso è causato dal blocco o dal rifiuto dei cookie.
Ho provato anche dal panello di amministrazione fornito dal mio hosting provider, che non fa altro che adottare la soluzione 2, ovvero aggiungere tale riga al mio file  .htaccess. Dando coerentemente sempre il solito errore.


NOTE:Sto usando Joomla 1.5, con htaccess attivo. Allego file htaccess rinominato con estensione ".txt" solo a fini di upload sul forum

Non conosco il php, potrebbe esserci qualche conflitto? Per questo motivo l'ho postato.


Inoltre, ho provato anche con il componente ReDJ, ma credo faccia la stessa cosa della soluzione 1, senza alcun effetto.


[allegato vecchio più di un anno eliminato da un amministratore]
« Ultima modifica: 31 Ago 2011, 10:52:32 da LuxorTheFirst »
La libertà di pensiero è una cosa fondamentale. Per questo dico sempre ciò che penso.
LuxorTheFirst

Offline LuxorTheFirst

  • Appassionato
  • ***
  • Post: 214
  • Sesso: Maschio
  • Gran Rompi-bug
    • Mostra profilo
Qualcuno ha un suggerimento?  ;D
La libertà di pensiero è una cosa fondamentale. Per questo dico sempre ciò che penso.
LuxorTheFirst

Offline maicolstaip

  • Global Moderator
  • Instancabile
  • ********
  • Post: 17623
  • Sesso: Maschio
    • Mostra profilo
Ciao LuxorThe First,
nel mio ho:

Codice: [Seleziona]
#######reindirizza non www to www
#
RewriteCond %{HTTP_HOST} ^hoteledelweiss.net [NC]
RewriteRule ^(.*)$ http://www.hoteledelweiss.net/$1 [L,R=301]
#
#############fine reindirizza non www to www

Attento che l'ho dovuto mettere subito dopo
Codice: [Seleziona]
RewriteBase /
altrimenti non funzionava.

Ciao!
Non si risponde a PM tecnici. Postate sul forum. Grazie.

Offline LuxorTheFirst

  • Appassionato
  • ***
  • Post: 214
  • Sesso: Maschio
  • Gran Rompi-bug
    • Mostra profilo
Ciao maicolstaip!

Non posso credere che fosse così semplice!  :D


Nel mio htaccess c'era pure scritto questo:
Codice: [Seleziona]
#  Uncomment following line if your webserver's URL
#  is not directly related to physical file paths.
#  Update Your Joomla! Directory (just / for root)

# RewriteBase /


..ma da profano non potevo immaginare.. Domani mattina "scommento" immediatamente, perché ho tutto su un altro pc.

EDIT
Il giorno dopo..
Okay, ho capito qual è il problema. Non c'entra il rewrite base.
Ho fatto un sacco di prove, ma alla fine quella che è più servita era anche la più logica.
Se tolgo la Joomla core SEF SECTION presente nell'htaccess, allora funziona tutto perfettamente.
Senza questa infatti, il redirect va a meraviglia. Cioè se vado su miosito.com, mi ridirige a www.miosito.com

L'unico inconveniente è che poi tutti i miei link (che funzionano con sef urls) non vanno perchè, diciamocelo, è un hack delle palle. Allora devo andare in conf. di joomla e disimpostare il sef url per fare un lavoro fatto bene. Così tutto va, ma in questo modo perdo le sef url che sono invece una gran cosa. E se ho fatto tutto ciò a fini SEO, allora sarei un fesso!

In pratica..io non conosco il php, però posso certamente dire che la soluzione di mmleoni è totalmente in conflitto con joomla con sef urls attive.

Un ringraziamento a maicolstaip per il supporto morale che mi ha portato sulla buona strada per capire il problema.  ;)
« Ultima modifica: 06 Set 2011, 18:55:56 da LuxorTheFirst »
La libertà di pensiero è una cosa fondamentale. Per questo dico sempre ciò che penso.
LuxorTheFirst

Offline fciotola

  • Nuovo arrivato
  • *
  • Post: 20
    • Mostra profilo
Salve volevo chiedere il vs aiuto per il seguente problema,


una volta attivato il sef url di joomla 1.6.6 visto che le mie voci di menu sono nidificate su più livelli ottengo delle url come queste:


http://localhost:8080/rootdi joomla/vocemenudi1livello/vocemenudisecondolivello


c'e un modo per eliminare dalla url la voce di menui di 1 livello?


Un hack sarebbe quello di creare u menu nascosto con tutte le voci su di un solo livello, ma questo hack rende noisissima la manutenzione e lagestione seguente.


Vorrei quindi trovare un metodo per eliminare determinate directory dalle mie url sef avete idee in merito?


grazie in anticipo

mau_develop

  • Visitatore
una volta attivato il sef url di joomla 1.6.6
--------------------------------------------------------
perchè usi una versione abbandonata?

in locale l'htaccess lascialo perdere, piuttosto... perchè 8080?

M.
« Ultima modifica: 18 Ott 2011, 11:39:51 da mau_develop »

Offline fciotola

  • Nuovo arrivato
  • *
  • Post: 20
    • Mostra profilo
Ciao Mau, grazie per la risposta, a breve aggiornero alla 1.7 , 8080 è semplicemente la porta su cui il mio apache server è in ascolto, ma non credo che queste due cose influiscano, ora ho pubblicato tutto su server pubblico quindi posso anche usare .htaccess, il problema è:


posso eliminare delle directory dalle mie url sef? credo si possa fare con le giuste regole in .htaccess o modificando addirittura il modrewrite.


Hai esperienze in merito? c'e qualcuno che ha gia eliminato delle directory dalle proprie url?

mau_develop

  • Visitatore
ora ho pubblicato tutto su server pubblico quindi posso anche usare .htaccess
---------------------------------------------------------------
... sempre che il tuo hosting remoto abbia caricato il mod_rewrite... ma penso di si

per il resto se cerchi tra articoli e guide ci sono dei tutorial sull'uso di qs file, ... ma anche se li cerchi con google vanno benissimo, l'url rewritwe non è un esclusiva joomla.

M.

Offline fciotola

  • Nuovo arrivato
  • *
  • Post: 20
    • Mostra profilo
Ciao Mau, si il mio server ha il mod rewrite, ho spulciato un po il forum, ho trovato , hai ragione, molto post ma nessuno risolve in pieno l'esigenza che ho, cioè una regola htaccess che mi consenta ti escludere dalle url una o piu directory specifiche, so che non è una prerogativa di Joomla, ma credo che sia un argomento che interessi molto la community, xche ogni qual volta si creano con joomla menu nidificati con piu livelli si incorre nel problema di ritrovarsi nelle url anche le directory.


Sapresti indicarmi un post di joomla.it o una risorsa web che risolva questo problema?


grazie per il tuo aiuto.

mau_develop

  • Visitatore
so che esistono componenti sef più flessibili di quello standard joomla e li trovi nelle extensions.

M.

Offline alexdi

  • Appassionato
  • ***
  • Post: 304
  • Sesso: Maschio
  • M5S , forse riusciamo a mandarli tutti a casa !!
    • Mostra profilo
Un saluto a tutti.

...vorrei abbandonare l' extension Acesef per la generazione degli url amichevoli e utilizzare il SEF nativo di joomla. :(

Leggendo questo articolo mi è venuta voglia di provare a mantenere i SEF generati dal componente (per via delle indicizzazioni e link spontanei) , utilizzando le funzionalità di mod_rewrite in .htaccess per generare url SEF native joomla.

Mi sto complicando la vita in quanto esistono altre alterantive , oppure si può minimamente pensare di farlo con questo metodo od altri , possibilmente prima di andare in pensione........? :-\

Ringrazio in anticipo chiunque abbia un suggerimento da proporre.


Non è la specie più intelligente a sopravvivere e nemmeno quella piu' forte. E' quella più predisposta al cambiamento. Charles Darwin

Blog Personale

Offline bellatrix

  • Appassionato
  • ***
  • Post: 640
  • Sesso: Maschio
    • Mostra profilo
Ragazzi, non ne vengo ad una.
Vorrei eliminare dall'url del mio blog parecchia stringa inutile.

Quindi:
http://www.andreagiudice.eu/component/k2/item/5-la-verit%C3%A0-sulle-lampade-a-basso-consumo.html

Farla diventare:
http://www.andreagiudice.eu/la-verit%C3%A0-sulle-lampade-a-basso-consumo.html

In teoria:
RewriteRule ^component/k2/item(.*)$ $1 [R=301,L]
Funziona ma il browser va a puntare su un url inesistente.

Suggerimenti?

Offline oloccina

  • Nuovo arrivato
  • *
  • Post: 23
    • Mostra profilo
Qualcuno perfavore saprebbe suggerirmi la sintassi htaccess corretta
per ridirezionare
tutti gli URL http://miosito.com/en/nomepagina
verso http://miosito.com/nomepagina

?

grazie!

 



Web Design Bolzano Kreatif