Куда идем?

Многие новички сталкиваются с проблемой, когда при включении SEF в настройках Joomla в ссылках появляется блок «/index.php/», например, «wedal.ru/index.php/about.html». В этом кейсе я расскажу как легко и быстро от него избавиться.

Index.php появляется в ссылке потому, что все обращения к сайту так или иначе проходят через этот файл. Для того чтобы этой части не было в URL следует выполнить два действия:

  1. В корне Joomla переименовать файл htaccess.txt в .htaccess . В Windows это сделать просто так не получится, только через файловый менеджер, например, Total Commander. По FTP, либо на сервере, переименовать файл просто.
  2. В общих настройках Joomla в области «Настройки SEO» нужно включить опцию «Перенаправление URL». При этом следует убедиться, что на хостинге включен mod_rewrite.

seo

После этого открываем в браузере главную страницу сайта и проверяем, что все ссылки изменили вид и работают нормально.

Если ссылки изменили вид, но не открывается ничего, кроме главной страницы, то нужно решать вопрос относительно mod_rewrite с технической поддержкой хостинга, на котором у вас размещается сайт. Они должны подсказать решение, которое будет работать у них, хотя на большинстве нормальных хостингов все заработает сразу после выполнения вышеописанных пунктов.

Об авторе
Wedal
(Виталий). Веб-разработчик полного цикла (Full Stack). Создатель и автор сайта Wedal.ru.
Основной профиль – создание сайтов и расширений на CMS Joomla.
Добавить комментарий

Комментарии  
0
спасибо, все заработало)
0
А если в корне joomla сайта 2 файла htaccess.txt a другой .htaccess
Приведет ли это к замещению одного файла на другой если htaccess.txt переименовать на .htaccess?


Или, что сделать, чтобы не было взаимозамещения?
0
Добрый день!
Небольшой ликбез по утверждению: "В Windows это сделать просто так не получится".
Если Вы пользуетесь Windows 8, то сделать это несложно: заходим в меню "Вид" и ставим галочку "Расширения имен файлов":

После чего расширения файлов будут отображаться в проводнике и появится возможность их менять. На счет предыдущих версий Windows - не в курсе, но возможно и там есть такая галочка.
0
Sinister, не получится не из-за того, что скрыто расширение файла, а из-за того, что Windows будет думать, что это пустое имя файла с расширением .htaccess, а пустые имена файлов не допускаются.
0

Цитирую Misha:

А если в корне joomla сайта 2 файла htaccess.txt a другой .htaccess
Приведет ли это к замещению одного файла на другой если htaccess.txt переименовать на .htaccess?
Или, что сделать, чтобы не было взаимозамещения?


А зачем вам такие замещения, отредактируйте нужный вам файл и оставьте один, только имя у него должно быть .htaccess
0
У меня в файле htaccesss.txt 76 строк текста с кодами,
в файле .htaccess следующее
AddDefaultCharset utf-8
AddCharset utf-8 *

CharsetSourceEnc utf-8
CharsetDefault utf-8



какие последствия могут быть, если из файла с 6 строками скопирую содержимое в файл с 76 строками?
Что посоветуете?
0
Misha, все правильно. Переименуйте стандартный htaccess Joomla и перенесите в него эти строчки. А вообще, проверьте, возможно все будет нормально работать и без них.
1
Тем у кого сайт установлен не в корневую папку, а в поддиректорию, обязательно в .htaccess установить правило:
RewriteBase//

Ну и для должно быть установлено AllowOverride All
0

Цитирую skyadmin:

Тем у кого сайт установлен не в корневую папку, а в поддиректорию, обязательно в .htaccess установить правило:
RewriteBase//

Ну и для должно быть установлено AllowOverride All



А если этой строки нет? Куда ее вписывать, надо ли убирать в ручную в яндекс вебмастерс дубли, ждать пока сами исчезнут?
0
Доброго времени суток, уважаемые знатоки. Помогите решить следующую проблему. На сайте включил «Перенаправление URL», предварительно переименовав файл htaccess.txt в .htaccess. Все работало отлично. Проблема возникла после восстановления сайта из резервной копии. После восстановления сайт перестал работать. Помогло отключение «Перенаправление URL» и обратное переименование .htaccess в htaccess.txt. Как мне теперь убрать /index.php/ из ссылок сайта?
P.S. Резервная копия сайта была сделана с помощью компонента akeeba backup. Архив скачал из админки через web-интерфейс.
0
Alexander, скачайте Joomla с официального сайта, возьмите из нее htaccess и замените им ваш. Должно помочь.
0
А у меня в общих настройках нет "настройки seo". Почему? Что делать?
0
Raya, какая версия Joomla?
0

Цитирую Wedal:

Raya, какая версия Joomla?


1.5
0
а почему у Вас на сайте при нажатии на логотип оказываешься на http://wedal.ru/index.php? так задумано?
0
kostya, нет. Это уже пару лет руки не доходят исправить :-)
0
Много всего написано по поводу первичной seo оптимизации Joomla. А вот у меня возникла одна проблемка после включения перенаправления url. Все страницы на сайте перестали работать, выдавая ошибку 500. Пробовала и ручками все исправить, кроме того сайт стал выдавать на главной странице просто бешенные url по типу juliart.by/juliat/juliart/juliart/juliart и так до бесконечности. Что я только не делала. И вот ответ как оказалось очень простой. Надо прописать в файле cofiguration.php в строке public $live_site= "" в кавычках свой сайт http://juliart.by И все заработало моментально. Можете посмотреть сайте. Буду рада если это тоже кому то поможет, так как у меня на решение проблемы ушло коло месяца, перелапачено было куча литературы. А оказалось все просто.
0
это функция от разработчиков joomla должна была сделать такой стандарт. посоветуйте разработчикам joomla это. побольше советов и они сделают такой стандарт.
0
надо просить разработчиков joomla улучшать joomla и предлагать конкретно идеи или даже уже готовые разработки на сайт joomla.org.
0
почему joomla.org сразу не сделала такие норм ссылки в движке чтобы не ковырять ничего ?
пожалуйста ребята все пишите просьбы предложения на сайт joomla.org и они уже точно исправят joomla.
0
site, это связано исключительно с техническими особенностями работы серверов и не является какой-то недоработкой. Просто нужно помнить об этой особенности.
0
Доброго времени суток!

Настроила на локальном компьютере. Апач 2.2.2, PHP 5.3.10? MySQL 5.5. Выдает ошибку 404 при открытии любого материала. Как именно надо настроить mod_rewrite в Апаче? Потому что мне надо срочно определяться, делать сайт на Джумле или на чем еще, наличие index.php совершенно недопустимо... (((
0
Настя, нужно взять Denwer и не мучиться с ручной настройкой. Ваша проблема однозначно связана с htaccess и/или mod_rewrite. Вы переименовали htaccess.txt в .htaccess в корне сайта?
0
Все рекомендации сделаны, mod_rewrite в апаче прописан в httpd.conf, проверено - файл по указанному пути есть, .htaccess тоже есть, я им постоянно и для других целей пользуюсь, поэтому это первое, что я делаю после установки. Все безнадежно, вдобавок сайт после экспериментов упал )))
Денвер я не люблю, предпочитаю понимать, что я делаю - и этой проблемы это тоже касается, хостеры разные бывают, некоторым надо разжевывать, что от них требуется.
К тому же я устанавливаю несколько сайтов на компе, очень удобно - на одном экспериментируешь/засоряешь, на другой отлаженное ставишь.
К слову, на хостинге 1gb все работает как надо, но вообще не хотелось бы отлаживать сайт в инете... (((
0
спасибо за заметку. mod_rewite это вотчина апача, а что делать если у меня сайты крутятся на nginx? Ему откровенно наплевать на файл .htaccess и функцию Перенаправления URL.