Відповіді:
Це можна зробити, включивши 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 .