Joomla: как убрать /index.php/ из ссылок сайта (Кейс #1).
Многие новички сталкиваются с проблемой, когда при включении SEF в настройках Joomla в ссылках появляется блок «/index.php/», например, «wedal.ru/index.php/about.html». В этом кейсе я расскажу как легко и быстро от него избавиться.
Index.php появляется в ссылке потому, что все обращения к сайту так или иначе проходят через этот файл. Для того чтобы этой части не было в URL следует выполнить два действия:
- В корне Joomla переименовать файл htaccess.txt в .htaccess . В Windows это сделать просто так не получится, только через файловый менеджер, например, Total Commander. По FTP, либо на сервере, переименовать файл просто.
- В общих настройках Joomla в области «НастройкиSEO» нужно включить опцию «ПеренаправлениеURL». При этом следует убедиться, что на хостинге включен mod_rewrite.
После этого открываем в браузере главную страницу сайта и проверяем, что все ссылки изменили вид и работают нормально.
Если ссылки изменили вид, но не открывается ничего, кроме главной страницы, то нужно решать вопрос относительно mod_rewrite с технической поддержкой хостинга, на котором у вас размещается сайт. Они должны подсказать решение, которое будет работать у них, хотя на большинстве нормальных хостингов все заработает сразу после выполнения вышеописанных пунктов.
Как убрать index.php в Joomla 3
Краткость — это сестра таланта и любимица поисковиков. Гугл и Яндекс обожают, когда у сайтов аккуратные URL, а не километровые наборы цифр и букв с указанием php файла index в тексте ссылки. Если вы только недавно обзавелись сайтом, или уже давно им управляете и до сих пор не избавились от назойливого упоминания php файла index, тогда вам срочно необходимо убрать его, изменив настройки движка Joomla 3. В данной статье разберем два метода, как этом можно сделать.
Почему лучше убрать php файл index из URL
Здесь нет ничего страшного в том, что у вас отображается php файл index в адресе ссылки. Ваш сайт от этого не забанят и не кинут в какой-нибудь фильтр. Но со временем вы поймете, что позиции его значительно ухудшаются по сравнению с тем, если бы в адресе не указывался index. Этот php фрагмент попросту дублирует страницу. Если вы попробуете зайти на страницу, введя, к примеру http://ваш_сайт_ру/страница/ и http://ваш_сайт_ру/index.php/страница/, то вы попадете в идентичную часть сайта.
То есть из-за наличия php файла index в содержании URL появляются дубли ресурса, что может негативно отразиться на индексации одного из зеркал.
Дабы избавиться от подобных проблем в качестве профилактики лучше сразу позаботиться о своем проекте, и убрать index.php в настройках Joomla.
Как убрать index.php — метод № 1
Joomla 3 — замечательная версия движка. В этой версии есть возможность активировать некоторые SEO-функции прямо через админку без добавления специальных плагинов на сайт. Эти SEO-функции расположены в «Настройках» во вкладке «Система» и «Настройки SEO». Как раз в этой части панели управления вы и найдете пункт, ответственный за добавление index.php к ссылке. Почему-то Joomla по умолчанию активирует эту функцию, хотя она вредит ресурсу.
В настройках SEO вы сможете активировать ЧПУ-ссылки, алиасы и многое другое. Чтобы убрать index.php из ссылок, вам необходимо включить функцию «Перенаправление URL». Благодаря активации данной функции движок Joomla будет перехватывать ссылки на страницы с index.php и перенаправлять на необходимые вам URL страницы.
Учтите, что функция не заработает, если вы через FTP-менеджер не переименуете файл htaccess.txt в .htaccess. По сути, вам нужно будет просто убрать в конце .txt и перенести точку в начало названия файла. Это звучит как пустяк, но без такого действия перенаправление URL не заработает. Иногда даже после этого на сайте могут возникнуть ошибки, в частности 404 ошибка редиректа. В таком случае, попробуйте переименовать файл htaccess.txt не при помощи FTP-менеджера, а через специальное приложение Notepad++. Некоторым такая корректировка действий помогает.
Как убрать index.php в Joomla? — метод № 2
В целом, второй метод очень похож на первый. Вам точно так же необходимо будет зайти в админку движка и в разделе «Настройки SEO» активировать функцию перенаправлению URL. Но только данный метод рассчитан на обход частой ошибки 500, которая возникает во время попыток убрать навязчивый index.php из ссылок.
Чтобы это осуществить, вам необходимо внести в файле htaccess.txt мелкую корректировки. А именно от вас потребуется перед строкой Options +FollowSymLinks прописать штрих — #. Далее, как и в предыдeщей инструкции, вам необходимо переименовать файл htaccess.txt в .htaccess. После этого все должно заработать. Если даже такие изменения не помогли, тогда необходимо обратиться к хостинг-провайдеру. Перенаправление URL заработает только в том случае, если на сервере работает функция «mod_rewrite». Если это не так, то попросите у технической поддержки ее активировать. Они должны вам помочь. И тогда index.php наверняка уберется из URL, а ваш сайт начнет улучшать позиции в поиске.
Убрать index.php из URL адреса в joomla 3
Хотя движок Joomla 3 и позволяет создавать ЧПУ ссылки (легко читаемые человеком и роботами), но у него все равно есть недостаток при их формировании. Он заключается в подстановке к любому адресу страницы названия файлa index.php.
В итоге ссылки получаются гораздо сложнее и не красивее, чем могли бы быть. Например, вместо /o-komanii ссылка имеет вид /index.php/o-komanii . И так с каждой ссылкой. Это формально может вредить SEO позициям сайта. Да и вообще, зачем нормальному сайту, в каждой ссылке иметь не нужный index.php? Решим эту проблему.
1. Для начала Откройте в админке «Система > Общие настройки». Справа в «Настройки SEO» выставите настройки, как на скрине (здесь главным является пункт «Перенаправление URL», который и позволяет избавиться от index.php):
2. Теперь найдите файл в корне сайта htaccess.txt . Переименуйте его так: .htaccess (заметьте впереди теперь точка, а расширения .txt не должно быть).
Откройте .htaccess файл на редактирование и в самом начале вставьте строки:
RewriteEngine On
RewriteCond % ^[A-Z]\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://VASH_SAIT.RU/ [R=301,L]
Где вместо VASH_SAIT.RU — вставьте домен вашего сайта.
Если говорить кратко, то эта конструкция позволит автоматически переадрисовывать все ссылки с index.php на такие же без index.php. Причем без потери ссылочной массы ссылки, если она ранее была проиндексирована где-угодно. Т.е. если в поисковике (или другом сайте) уже есть ссылка такого вида на ваш ресурс /index.php/o-komanii, то при переходе по ней, пользователь автоматические переадресуется на этот адрес: /o-komanii.
У кого-то данная конструкция может не заработать, поэтому можете попробовать другую (в ней не нужно явно указывать домен сайта):
RewriteEngine On
RewriteCond % ^/index\.php/
RewriteRule ^index.php/(.*) /$1 [R,L]
Желаю успешных переадресаций!
Как включить ЧПУ (SEF) и удалить index.php
Как правило для правильной работы сайта, для создания интереса к сайту от пользователей необходима поисковая оптимизация (SEO или СЕО).
Наверняка многим не очень нравится, что ссылки в Joomla выглядят не очень красиво. К тому же поисковые системы намного лучше работают с хорошими и читаемыми URL, да и людям это намного удобнее.
Согласитесь, что адрес страницы типа http://joomla.ru/sites выглядит намного лучше, чем страница http://joomla.ru/index.php?option=com_content&view=article&id=2565.
Именно поэтому важно включить на своем сайте SEF (ЧПУ или человекопонятные url).
В этом уроке я покажу вам , как включить человекопонятные URL-адреса и как убрать index.php и другие ненужные коды из URL-адреса без необходимости установки какого-либо плагина или компонента.
Обратите внимание, что следующий урок работает на серверах Apache и скриншоты были взяты из версии Joomla 3. В более старых версиях Joomla шаги очень похожи, но есть небольшие отличия.
Давайте начнем и посмотрим, как превратить уродливые URL-адреса в красивые и дружественные для пользователей.
Сначала войдите в Панель управления и перейдите в Система — Общие настройки
На вкладке “сайт”, вы получите возможность внести некоторые изменения в настройки SEO. Нажмите “Да” для параметра «Включить SEF (ЧПУ)» и «Перенаправления URL». Если перенаправление URL-адресов не работает, возможно, ваш хостинг не может активировать модуль mod_rewrite на сервере Apache. Свяжитесь с хостером, чтобы получить возможность использовать данные функции.
Теперь перейдите в файловый менеджер вашего хостинга. Это можно сделать, например, с помощью FTP-клиента, либо через функции панели управления хостингом.
В папке вашего Joomla сайта найдите файл htaccess.txt и переименуйте его в файл .htaccess
Это можно сделать с помощью обычного блокнота или Notepad++. Пересохраните файл в режиме «все файлы» с именем «.htaccess».
Мы почти закончили с настройкой, но есть еще одна маленькая вещь, которую нужно сделать, чтобы удалить index.php из URL-адреса.
Необходимо изменить .htaccess файл.
Откройте его и найдите следующую строку:
# RewriteBase /
Удалите символ “#” из строки. Помните, что если вдруг вы установили свой сайт на Joomla в подпапку (т. е.: http://вашсайт.ru/joomla ), то необходимо вставить имя подпапки после “/”
RewriteBase /joomla
Если же Joomla установленна в корневой папке, то вам не нужно добавить никакой подкаталог в код, а просто использовать следующий код:
RewriteBase /
А теперь посмотрите свой сайт и порадуйтесь изменениям! 🙂