it-swarm-eu.dev

Come rimuovere index.php dall'URL nel sito multilingue

Sto cercando di rimuovere index.php dagli URL. Ho fatto quello che dicono molti siti web. Ma ottengo ancora l'errore 404. Penso che l'errore non verrebbe mostrato se non usassi un sito web multilingue. Sto usando Joomla 3.3.3. Tutti gli esempi sono per siti in una sola lingua. Ma il mio sito ha almeno due lingue.

L'indirizzo della mia home page è simile

http://www.example.com/index.php/en/

Quando abilito "usa mod_rewrite" e cambio htaccess.txt a .htaccess, sì, index.php Va via.

http://www.example.com/en/

Ma vedo l'errore 404 ora.

Ho anche abilitato l'opzione "Rimuovi codice lingua" nel plug-in del filtro lingua.

Una parte di configuration.php

...
public $sef = '1';
public $sef_rewrite = '1';
public $sef_suffix = '0';
public $unicodeslugs = '0';
...

Se digito http://www.example.com nella barra degli indirizzi, la homepage viene caricata. Ma se clicco su una voce di menu per leggere un articolo della pagina 404 mostra.

Quali sono i tuoi suggerimenti?

2
zkanoca

Innanzitutto, nella Configurazione globale, impostare sa riscrittura URL su . Questa è l'opzione per rimuovere il index.php dall'URL.

Al termine, rinomina semplicemente il tuo file htaccess in .htaccess, che sembra aver già fatto. Ciò consentirà di eseguire la prima modifica sopra menzionata.

3
Lodder

Nella mia esperienza, il file .htaccess Dovrebbe funzionare indipendentemente dalle impostazioni del sito in più lingue/singole lingue. Il motivo più comune per 404 errori su qualsiasi pagina MA la homepage è un errore in .htaccess. Ci sono due righe che dovresti controllare:

  1. Prova a commentare Options +FollowSymLinks Come suggerito (aggiungendo un # all'inizio della riga):

    # The line just below this section: 'Options +FollowSymLinks' may cause problems
    # with some server configurations.  It is required for use of mod_rewrite, but may already
    # be set by your server administrator in a way that dissallows changing it in
    # your .htaccess file.  If using it causes your server to error out, comment it out (add # to
    # beginning of line), reload your site in your browser and test your sef url's.  If they work,
    # it has been set by your server administrator and you do not need it set here.
    ##
    
    ## Can be commented out if causes errors, see notes above.
    Options +FollowSymLinks
    
  2. La seconda riga che potrebbe causare problemi è RewriteBase /

    # Uncomment following line if your webserver's URL
    # is not directly related to physical file paths.
    # Update Your Joomla! Directory (just / for root).
    ##
    
    # RewriteBase /
    

    Prova a decommentare questa riga e se hai installato Joomla in una sottodirectory, aggiungi quella directory dopo il / (Esempio: RewriteBase /joomladir)

2
johanpw

Innanzitutto, hai fatto i passaggi corretti per rimuovere index.php, c'è solo qualcosa di sbagliato in modo che il sef non funzioni. Questo è in realtà perfettamente normale direttamente dopo aver cambiato i collegamenti sef. Ci sono diverse possibili ragioni ...

  1. Non hai un server Apache o non è abilitato mod_rewrite e .htaccess non fa nulla. Probabilmente l'avresti notato, ma incluso per completezza. E molti ambienti di sviluppo web di localhost (come WAMPserver) fanno di default la disabilitazione di mod_rewrite.

  2. Devi ricostruire i tuoi dati sef nel menu manager. Basta fare clic su ricostruisci. Non ho idea del perché non si aggiorni automaticamente.

  3. Il modulo del menu non è stato aggiornato correttamente a causa della cache. Cancella tutte le cache. Questo è ciò che di solito incontro quando il menu è integrato nel modello e il modello viene memorizzato nella cache in modo esteso. Dovresti anche fare clic due volte su F5 per forzare il browser a ricaricare tutto.

0
Ville Niemi