Je me demandais s'il est possible de supprimer le 'index.php' qui est affiché dans chaque URL.
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.
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.
Voici une méthode générale si votre site plante à l'aide de .htaccess:
et/ou
Cela devrait bien fonctionner! Remarque: vous commentez en donnant un hashtag pour une ligne "#"
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 .