Відповіді:
Це можна зробити, включивши URL-адреси SEF та особливо параметр "Використовувати перезапис URL-адрес" у глобальній конфігурації Joomla.
Зауважте, що це призведе до помилки внутрішнього сервера, якщо ви не створили .htaccessфайл перед включенням параметра.
Існує сторінка документа, яка пояснює, які кроки необхідні для отримання цих приємних URL-адрес. Подивіться тут: http://docs.joomla.org/Enabling_Search_Engine_Friendly_(SEF)_URLs
В основному ви повинні перейменувати htaccess.txtфайл, знайдений у вашому кореневому каталозі Joomla. Залежно від вашого господаря, необхідні додаткові кроки.
Ви можете додати цей код до початку Joomla's index.php:
if(strcmp($_SERVER['REQUEST_URI'], '/index.php') == 0 && $_SERVER['QUERY_STRING'] == ''){
header("HTTP/1.1 301 Moved Permanently");
header('Location: /');
exit;
}
Але будьте обережні, якщо ви скористаєтесь цим підходом, вам потрібно буде повторити цю програму під час оновлення.
Якщо ви використовуєте веб-сервер nginx , то ви можете використовувати наступний фрагмент для nginx.confфайлу конфігурації, де ваш Joomla! сайт обслуговується (в основному, просто додайте умова if після будь-яких існуючих рядків, де відображається index index.phpдиректива).
#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; }
Більш детальна інформація знаходиться на /programming/28997028/remove-index-php-from-joomla-urls-with-nginx/38165768#38165768 .