Ответы:
Вы можете сделать это, включив URL-адреса SEF и особенно параметр «Использовать перезапись URL» в глобальной конфигурации Joomla.
Обратите внимание, что это приведет к внутренней ошибке сервера, если вы не создали .htaccess
файл перед включением этой опции.
Есть страница документа, объясняющая, какие шаги необходимы, чтобы получить те хорошие URL. Посмотрите здесь: http://docs.joomla.org/Enabling_Search_Engine_Friendly_(SEF)_URLs
В основном вы должны переименовать htaccess.txt
файл, найденный в вашем корневом каталоге Joomla. В зависимости от вашего хостера, дополнительные шаги необходимы.
Вы можете добавить этот код в начало index.php Joomla:
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! site обслуживается (в основном, просто добавьте условие 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 .