Достаточно актуальный вопрос, с которым сталкиваются если не все, то многие веб-разработчики начинающие свое знакомство с Joomla 3 - как убрать index.php из url (адреса сайта).
Данный вопрос напрямую связан с понятием SEO-оптимизации, во-первых это дублирование страниц, которое может повлечь за собой снижение позиций сайта в поисковой выдаче, во-вторых это не красивое отображение имени сайта в адресной строке. Ведь согласитесь на адрес site.ru смотреть гораздо приятнее, нежели на подобный адрес сайта site.ru/index.php.
Процесс избавления от index.php не сложный и не займет у Вас более 5 минут, зато конечный результат Вас обязательно порадует. Первое что необходимо сделать это в панели управления перейти в общие настройки системы (Система -> Общие настройки):
В правой части страницы обратите внимание на группу параметров «Настройки SEO». По умолчанию в Joomla 3 включен только первый параметр «Включить SEF (ЧПУ)», а остальные находятся в отключенном состоянии:
Все что необходимо сделать, это включить перенаправление URL, но прежде давайте рассмотрим, что такое ЧПУ и как оно связано с появлением index.php в адресной строке сайта.
Что такое ЧПУ?
Если кратко, то ЧПУ это человеко-понятная ссылка (УРЛ) которая позволяет заменять сложный технический адрес страниц сайта на более понятный как для посетителей сайта, так и для поисковых роботов вид. Для большего понимания сути давайте рассмотрим простой пример, как выглядит адрес страницы в обычном варианте и после включения ЧПУ:
- Обычный - joom4all.ru/index.php?option=com_content&view=article&id=38&Itemid=149
- С ЧПУ – joom4all.ru/index.php/sites-creation/basics/intro
Да это разные адреса одной и той же страницы. Согласитесь, второй вариант гораздо лучше для восприятия, как людьми, так и поисковыми роботами которые «поставят дополнительный плюс» Вашей странице, если найдут в её адресе ключевое слово.
С ЧПУ разобрались, но тема вопроса еще открыта, как убрать index.php и тем самым сделать адрес сайта еще более привлекательным. Как уже было сказано для этого потребуется включить «Перенаправление URL», после этого можно переходить на сайт и посмотреть на результат. А результат возможен двух вариантов:
- Из адреса сайта исчезнет index.php
- Вы получите ошибку Not Found на всех страницах сайта кроме главной
С первым вариантом все понятно, мы этого и добивались, но почему может появиться ошибка Not Found после включения перенаправления URL (скриншот ошибки ниже).
Для того чтобы избавиться от подобной ошибки необходимо в коре сайта создать специальный управляющий файл «.htaccess». К счастью не нужно изобретать велосипед, ведь этот файл уже есть на сайте, но под другим именем – «htaccess.txt».
Все что нам остается сделать, это переименовать файл «htaccess.txt» в «.htaccess» и проверить результат (более подробно про работу с данным файлом читайте в данной статье). Кстати если Вы читали статью о переносе сайта с локального сервера на хостинг, то Вам уже известно, что данный файл следует переименовать.
Вот таким не хитрым способом мы удалили index.php из адреса сайта и привели его к более привлекательному виду.