web-dev-qa-db-fra.com

Comment supprimer le 'index.php' de l'URL?

Je me demandais s'il est possible de supprimer le 'index.php' qui est affiché dans chaque URL.

10
connersz

Vous pouvez le faire en activant les URL SEF et en particulier le paramètre "Utiliser la réécriture d'URL" dans la configuration globale de Joomla.

Veuillez noter que cela générera une erreur de serveur interne si vous n'avez pas créé le fichier .htaccess fichier avant d’activer l’option.

Une page de documentation explique les étapes nécessaires pour obtenir ces URL de Nice. Regardez ici: http://docs.joomla.org/Enabling_Search_Engine_Friendly_ (SEF) _URLs

Fondamentalement, vous devez renommer le htaccess.txt fichier trouvé dans votre répertoire racine Joomla. Selon votre hébergeur, des étapes supplémentaires sont nécessaires.

17
Bakual
  1. Htaccess.txt remplacé par .htaccess
  2. Site> Configuration globale: Utiliser la réécriture d'URL (choisissez Oui)
  3. Paramètres de référencement des URL conviviales pour les moteurs de recherche (choisissez Oui)
4
Vick-Nguyen

Vous pouvez ajouter ce code en haut du fichier index.php de Joomla:

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

Attention, si vous adoptez cette approche, vous devrez la refaire lors de la mise à niveau.

4
ContextSwitch

Voici une méthode générale si votre site plante à l'aide de .htaccess:

  • Vous devriez commenter une ou les deux lignes suivantes:

Options + SuivreSymLiens

et/ou

RewriteBase /

Cela devrait bien fonctionner! Remarque: vous commentez en donnant un hashtag pour une ligne "#"

2
tgyozo

Si vous utilisez le serveur Web nginx , vous pouvez utiliser l'extrait de code suivant pour le nginx.conf fichier de configuration où votre fichier Joomla! le site est servi depuis (en gros, ajoutez simplement la condition if après toutes les lignes existantes où le index index.php directive apparaît).

#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;  }

Plus de détails sont à https://stackoverflow.com/questions/28997028/remove-index-php-from-joomla-urls-with-nginx/38165768#38165768 .

1
cnst