it-swarm.it

Come rimuovere "index.php" dagli URL?

Mi chiedevo se fosse possibile rimuovere "index.php" che viene mostrato in ogni URL.

10
connersz

Puoi farlo abilitando gli URL SEF e in particolare il parametro "Usa riscrittura URL" nella configurazione globale di Joomla.

Tieni presente che ciò genererà un errore interno del server se non hai creato .htaccess file prima di abilitare l'opzione.

C'è una pagina di documento che spiega quali passaggi sono necessari per ottenere quegli URL piacevoli. Dai un'occhiata qui: http://docs.joomla.org/Enabling_Search_Engine_Friendly_ (SEF) _URLs

Fondamentalmente devi rinominare il htaccess.txt file trovato nella directory principale di Joomla. A seconda dell'hoster, sono necessari passaggi aggiuntivi.

17
Bakual
  1. Modificato htaccess.txt in .htaccess
  2. Sito> Configurazione globale: usa la riscrittura dell'URL (scegli Sì)
  3. URL ottimizzati per i motori di ricerca delle impostazioni SEO (scegliere Sì)
4
Vick-Nguyen

Potresti aggiungere questo codice all'inizio dell'indice.php di Joomla:

if(strcmp($_SERVER['REQUEST_URI'], '/index.php') == 0 && $_SERVER['QUERY_STRING'] == ''){
    header("HTTP/1.1 301 Moved Permanently");
    header('Location: /');
    exit;
}

Fai attenzione, tuttavia, se segui questo approccio, dovrai rifarlo quando esegui l'aggiornamento.

4
ContextSwitch

Ecco un metodo generale se il tuo sito si arresta in modo anomalo utilizzando .htaccess:

  • Dovresti commentare una o entrambe queste righe:

Opzioni + FollowSymLink

e/o,

RewriteBase /

Questo dovrebbe funzionare benissimo! Nota: fai commenti dando un hashtag per una riga "#"

2
tgyozo

Se stai utilizzando il server web nginx , puoi utilizzare il seguente frammento per il nginx.conf file di configurazione in cui il tuo Joomla! il sito è servito da (in pratica, basta aggiungere la condizione if dopo qualsiasi linea esistente in cui il index index.php direttiva appare).

#https://stackoverflow.com/a/38165768/remove-index-php-from-joomla-urls-with-nginx
index index.php index.html index.htm;
if ($request_uri ~ "^/(.*)(?<=/)index\.php/?((?<=/).*)?$") {    return  301 /$1$2;  }

Maggiori dettagli sono disponibili su https://stackoverflow.com/questions/28997028/remove-index-php-from-joomla-urls-with-nginx/38165768#38165768 .

1
cnst