Как правильно включать SEF (ЧПУ) для начинающих

Тема в разделе "Joomla и SEF (ЧПУ)", создана пользователем PaLyCH, 05.08.2008.

  1. PaLyCH
    Offline

    PaLyCH Недавно здесь

    Регистрация:
    20.11.2007
    Сообщения:
    18
    Симпатии:
    2
    Пол:
    Мужской
    В связи с множеством вопросов по этой проблематике, решил написать маленький туториал о правильном включении SEF. Здесь просто, даже очень просто.

    1. Нужно уточнить у хостера, поддерживает ли сервер функцию mod_rewrite. К сожалению, есть такие, которые не поддерживают. Что либо сделать в данном случае тяжело. Если вы хотите видеть красивые ссылки, то стоит переехать на другого хостера.

    2. Установить ArtioSEF или OpenSEF. По вкусу. Я лично пользуюсь ArtioSEF, очень доволен. Скачать можно на сайте ArtioSef. Не забываем, что версиия ArtioSef 2.x.x это для Joomla 1.0.xx и Joostina, версии 3.x.x. для Joomla 1.5.X. Также у них есть различные расширения для других компонентов. Есть и коммерческие расширения.

    3. Включить в настройках Joomla SEF. Вкладка SEO, поле "Дружественные ссылки" или "Search Engine Friendly URLs:"

    4. Открыть файл htaccess.txt или .htaccess (находится в корне сайта) и делаем следующее
    Комментируем следующие строки (в начале строки ставим символ #)
    Код:

    Код (CODE):
    1. ########## Начало раздела стандартного SEF
    2. ########## Используйте эту секцию ТОЛЬКО для работы встроенного SEF Joomla
    3. ## ВСЕ (RewriteCond) строки в этой секции необходимы только если
    4. ## на вашем сервере имеются каталоги с названиями 'content' или 'component'
    5. ## Если каталоги с такими названиями отсутствуют, то закомментируйте эти строки.
    6. #
    7. #RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR]        ##опционально - смотрите примечания##
    8. RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$  [NC]
    9. RewriteCond %{REQUEST_FILENAME} !-f
    10. RewriteCond %{REQUEST_FILENAME} !-d
    11. RewriteRule (.*) index.php
    12. #
    13. ########## Конец раздела стандартного SEF

    Т.е. должно быть
    Код:
    Код (CODE):
    1. ########## Начало раздела стандартного SEF
    2. ########## Используйте эту секцию ТОЛЬКО для работы встроенного SEF Joomla
    3. ## ВСЕ (RewriteCond) строки в этой секции необходимы только если
    4. ## на вашем сервере имеются каталоги с названиями 'content' или 'component'
    5. ## Если каталоги с такими названиями отсутствуют, то закомментируйте эти строки.
    6. #
    7. #RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR]        ##опционально - смотрите примечания##
    8. #RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$  [NC]
    9. #RewriteCond %{REQUEST_FILENAME} !-f
    10. #RewriteCond %{REQUEST_FILENAME} !-d
    11. #RewriteRule (.*) index.php
    12. #
    13. ########## Конец раздела стандартного SEF

    Далее разкоментируем следующие строки
    Код:
    Код (CODE):
    1. ########## Начало раздела SEF сторонних разработчиков или Core SEF     
    2. ########## Используйте этот раздел, если вы используете SEF-расширения типа OpenSEF, 404_SEF, 404SEFx, JoomSEF, SEF Advance и т.д.
    3. #
    4. #RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR]    ##опционально - смотрите примечания##
    5. #RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$  [NC]
    6. #RewriteCond %{REQUEST_FILENAME} !-f
    7. #RewriteCond %{REQUEST_FILENAME} !-d
    8. #RewriteRule (.*) index.php
    9. #
    10. ########## Конец раздела SEF сторонних разработчиков или Core SEF

    Будет
    Код:
    Код (CODE):
    1. ########## Начало раздела SEF сторонних разработчиков или Core SEF     
    2. ########## Используйте этот раздел, если вы используете SEF-расширения типа OpenSEF, 404_SEF, 404SEFx, JoomSEF, SEF Advance и т.д.
    3. #
    4. #RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR]    ##опционально - смотрите примечания##
    5. RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$  [NC]
    6. RewriteCond %{REQUEST_FILENAME} !-f
    7. RewriteCond %{REQUEST_FILENAME} !-d
    8. RewriteRule (.*) index.php
    9. #
    10. ########## Конец раздела SEF сторонних разработчиков или Core SEF


    Если вы редактировали файл htaccess.txt, то после его необходимо переименовать в .htaccess
    Если сайт выдаст 500 ошибку, то сервер не поддерживает настройку через .htaccess. Переименовать назад в htaccess.txt

    Поправка от doctorgrif
    Если у вас сайт находится не корне FTP, а в папке /site/ то необходимо подправить правила:
    Код (CODE):
    1. #RewriteCond %{REQUEST_URI} ^(/[B]site[/B]/component/option,com) [NC,OR] ##опционально - смотрите примечания##
    2. #RewriteCond %{REQUEST_URI} (/[B]site[/B]/|\.htm|\.php|\.html|/[^.]*)$ [NC]
    3. #RewriteCond %{REQUEST_FILENAME} !-f
    4. #RewriteCond %{REQUEST_FILENAME} !-d
    5. #RewriteRule (.*) index.php


    5. Включаем сам SEF в настройках компонента.

    6. Если у вас проблемы с неправильной транслитерацией в ArtioSEF, то нужно вставить транслитерацию, указанную в поле ниже, в настройках в строку "Non-ascii char replacements"

    Код (CODE):
    1. Г?|A, Г‚|A, Д‚|A, Г„|A, Д†|C, Г‡|C, ДЊ|C, ДЋ|D, Д?|D, Г‰|E, Д?|E, Г‹|E, Дљ|E, ГЌ|I, ГЋ|I, Д№|L, Е?|N, Е‡|N, Г“|O, Г”|O, Е?|O, Г–|O, Е”|R, Е?|R, Е |S, Ељ|O, Е¤|T, Е®|U, Гљ|U, Е°|U, Гњ|U, Гќ|Y, ЕЅ|Z, Е№,Z, ГЎ|a, Гў|a, Д?|a, Г¤|a, Д‡|c, Г§|c, ДЌ|c, ДЏ|d, Д‘|d, Г©|e, Д™|e, Г«|e, Д›|e, Г­|i, Г®|i, Дє|l, Е„|n, Е?|n, Гі|o, Гґ|o, Е‘|o, Г¶|o, ЕЎ|s, Е›|s, Е™|r, Е•|r, ЕҐ|t, ЕЇ|u, Гє|u, Е±|u, Гј|u, ГЅ|y, Еѕ|z, Еє|z, Л™|-, Гџ|ss, Д„|A, Вµ|u, Ґ|G, Ё|YO, Є|E, Ї|YI, І|I, і|i, ґ|g, ё|yo, №|#, є|e, ї|yi, А|A, Б|B, В|V, Г|G, Д|D, Е|E, Ж|ZH, З|Z, И|I, Й|Y, К|K, Л|L, М|M, Н|N, О|O, П|P, Р|R, С|S, Т|T, У|U, Ф|F, Х|H, Ц|TS, Ч|CH, Ш|SH, Щ|SCH, Ъ|\', Ы|YI, Ь|, Э|E, Ю|YU, Я|YA, а|a, б|b, в|v, г|g, д|d, е|e, ж|zh, з|z, и|i, й|y, к|k, л|l, м|m, н|n, о|o, п|p, р|r, с|s, т|t, у|u, ф|f, х|h, ц|ts, ч|ch, ш|sh, щ|sch, ъ|\', ы|yi, ь|, э|e, ю|yu, я|ya


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

    8. Если у вас в шапке сайта дублируется имя сайта - "Главная - имя сайта - имя сайта" при использовании ArtioSEF
    Решение № 1 - не обходимо отключить мамбот ARTIO JoomSEF MetaBot.
    Решение № 2 - а не проще ли поставить в "Use sitename in page titles" (в этом же матмботе - справа) в положение "No" - тогда и без выключения дубляжа имени сайта не будет просто если бот отрубить, компонент, скажем так, криво работать будет - не на полный функционал (спасибо еще раз doctorgrif )

    9. Рекомендую, если у вас установлен компонент CB (Community Builder) то для него отключить генерацию ЧПУ-ссылок. Он криво обрабатывает ссылки для этого компонента. Иначе увас будут проблемы с авторизацией и регистрацией. Отключается в настройках ArtioSef:
    Код:
    Код (CODE):
    1. com_comprofil - skip


    10. Также рекомендую поставить патч от Seo-Joomla, который уменьшает количество запросов в базу.

    11.компонент не получится из админки включить на некоторых хостингах (ну про права почитайте уж сами), поэтому топаем в /administrator/components/com_sef находим там config.sef.php и в нем
    Код (CODE):
    1. $enabled = "0";

    меняем на
    Код (CODE):
    1. $enabled = "1";


    Вот и все. Просто и с душой. Все делается за пару минут терпения. От ПаЛыЧа
     
    Последнее редактирование: 08.08.2008
    Voronov Denis нравится это.
  2.  
  3. doctorgrif
    Offline

    doctorgrif специалист

    Регистрация:
    14.01.2008
    Сообщения:
    1 284
    Симпатии:
    66
    Пол:
    Мужской
    Re: Как правильно включать SEf для начинающих

    по п.8:
    а не проще ли поставить в "Use sitename in page titles" (в этом же матмботе - справа) в положение "No" - тогда и без выключения дубляжа имени сайта не будет
    просто если бот отрубить, компонент, скажем так, криво работать будет - не на полный функционал

    еще тонкости:)
    компонент не получится из админки включить на некоторых хостингах (ну про права почитайте уж сами), поэтому топаем в /administrator/components/com_sef находим там config.sef.php и в нем
    Код (PHP):
    1. $enabled = "0";
    меняем на
    Код (PHP):
    1. $enabled = "1";
     
  4. Dead Krolik
    Offline

    Dead Krolik специалист

    Регистрация:
    13.04.2007
    Сообщения:
    3 688
    Симпатии:
    101
    Пол:
    Мужской
    Re: Как правильно включать SEf для начинающих

    А можно это в фак со ссылкой куда-нибудь на сайт автора?
     
  5. doctorgrif
    Offline

    doctorgrif специалист

    Регистрация:
    14.01.2008
    Сообщения:
    1 284
    Симпатии:
    66
    Пол:
    Мужской
    Re: Как правильно включать SEf для начинающих

    подожди немного, допишем про установку плагинов и настройку собственно атрио, и в фак можно будет сувать:)

    ведь ко всему прочему в htassesse есть чудная строка:
    RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR]
    про которую почти нет инфы
    я уже не говорю про то, что если сайт находится в папке, относительно корня хоста (условно /site/) то в htassess-e на до не только раскоментировать RewriteBase /, но м дописать его в виде RewriteBase /site/ и дописать в выводах СЕФ-а
    #RewriteCond %{REQUEST_URI} ^(/site/component/option,com) [NC,OR] ##опционально - смотрите примечания##
    #RewriteCond %{REQUEST_URI} (/site/|\.htm|\.php|\.html|/[^.]*)$ [NC]
    #RewriteCond %{REQUEST_FILENAME} !-f
    #RewriteCond %{REQUEST_FILENAME} !-d
    #RewriteRule (.*) index.php

    ПыСы: спасибо, поправил - писал про другое параллельно - пропустил:)
     
    Последнее редактирование: 05.08.2008
  6. Dead Krolik
    Offline

    Dead Krolik специалист

    Регистрация:
    13.04.2007
    Сообщения:
    3 688
    Симпатии:
    101
    Пол:
    Мужской
    Re: Как правильно включать SEf для начинающих

    Только там слэш в конце RewriteBase /site/ <---
     
  7. OlegM
    Offline

    OlegM Russian Joomla! Team Команда форума

    Регистрация:
    12.04.2007
    Сообщения:
    4 356
    Симпатии:
    370
    Пол:
    Мужской
    Re: Как правильно включать SEf для начинающих

    Название темы поправьте. Здесь рассмотрены левые расширения (точнее только ArtioSEF), а остальное на joomla-docs.ru
     
  8. PaLyCH
    Offline

    PaLyCH Недавно здесь

    Регистрация:
    20.11.2007
    Сообщения:
    18
    Симпатии:
    2
    Пол:
    Мужской
    Re: Как правильно включать SEf для начинающих

    Ох. Какое оживление вызвал мой топик. Сейчас внесу изменения в начало с учетом ваших пожеланий
     
  9. Offline

    scream Недавно здесь

    Регистрация:
    02.09.2008
    Сообщения:
    1
    Симпатии:
    0
    Re: Как правильно включать SEf для начинающих

    А можно ли как нибудь SEF-ссылку сделать русскими буквами?
     
  10. Dead Krolik
    Offline

    Dead Krolik специалист

    Регистрация:
    13.04.2007
    Сообщения:
    3 688
    Симпатии:
    101
    Пол:
    Мужской
    Re: Как правильно включать SEf для начинающих

    В 1.0.х нельзя. В 1.5 потенциально возможно.
     
  11. Physicist
    Offline

    Physicist Недавно здесь

    Регистрация:
    12.09.2006
    Сообщения:
    116
    Симпатии:
    9
    Пол:
    Мужской
    Re: Как правильно включать ArtioSEF для начинающих

    Насколько я знаю, некоторые sef-компоненты могут работать и без mod_rewrite (кто сказал, что на каждом сервере должен apache стоять?), просто либо в ссылке будет добавлено /index.php/, либо возникнут другие подводные камни. Но начинающим и правда лучше переехать «на другого хостера».

    Порой это означает, что не поддерживается лишь одна из команд в .htaccess (например, php_value или Options).

    Корень FTP никак не связан с корнем сайта. Не путайте начинающих.

    По-моему, слеш в конце необязателен.

    В 1.5 точно можно (проверено), достаточно закомментировать несколько строк «удаляющих» из генерируемых ссылок лишние (с точки зрения создателей joomla) символы.
     
  12. Offline

    volokhonsky Недавно здесь

    Регистрация:
    17.09.2008
    Сообщения:
    2
    Симпатии:
    0
    Re: Как правильно включать SEf для начинающих

    Ребята, извините, первый раз ставлю Джумлу, ничего не понимаю. Установил этот ArtioSEF... Проделал описанное. За исключением одного пункта -


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


    Что это значит???

    У меня формат ссылок на сайте вроде бы так и не поменялся, я уж самые разные кнопочки в этом артиосефе тыкал, никаких изменений вроде бы нет.

    Сейчас ссылка на мою статью выглядит как

    сайт/index.php?option=com_content&Itemid=2&catid=1&id=9&view=article

    Хотелось бы, чтобы она выглядела как

    сайт/категория/название

    Я вообще туда рою? АртиоСЕФ - это про это??? Сколько ж тут геморроя-то. В друпале за двадцать минут справился, мне джумлу посоветовали, всё в джумле зашибись, круче друпала, но над тем, чтобы сделать нормальные ссылки бьюсь уже третий день. Боюсь, от меня потребуют прекратить страдать фигнёй и сделать быстро на друпале... Помогииите, а!
     
  13. PaLyCH
    Offline

    PaLyCH Недавно здесь

    Регистрация:
    20.11.2007
    Сообщения:
    18
    Симпатии:
    2
    Пол:
    Мужской
    Re: Как правильно включать SEf для начинающих

    Значит ты сделал не все пункты. Внимательно читаем
     
  14. Offline

    volokhonsky Недавно здесь

    Регистрация:
    17.09.2008
    Сообщения:
    2
    Симпатии:
    0
    Re: Как правильно включать ArtioSEF для начинающих

    Видимо, действительно что-то попутал, попробовал с самого начала повторить все действия - есть прогресс! Теперь мне пишут на главной странице в меню:

    string(144) "INSERT INTO `#__redirection` (`oldurl`, `newurl`, `Itemid`) VALUES ('knigi-i-stati.html', 'index.php?option=com_content&id=1&view=section', '2')"

    Это мне что вручную все ссылки прописывать в базу данных такими командами???
     
  15. Offline

    Wak Недавно здесь

    Регистрация:
    24.09.2008
    Сообщения:
    22
    Симпатии:
    0
    Пол:
    Мужской
    Re: Как правильно включать SEf для начинающих

    Скажите, а встроенный Sef совсем "не айс"?
     
  16. OlegM
    Offline

    OlegM Russian Joomla! Team Команда форума

    Регистрация:
    12.04.2007
    Сообщения:
    4 356
    Симпатии:
    370
    Пол:
    Мужской
    Re: Как правильно включать SEf для начинающих

    наверно ты вырезал копирайты JoomSEF :)

    Еще как айс, просто кому-то надо не просто SEF, а ещё и ЧПУ %)
     
  17. Offline

    Wak Недавно здесь

    Регистрация:
    24.09.2008
    Сообщения:
    22
    Симпатии:
    0
    Пол:
    Мужской
    Re: Как правильно включать SEf для начинающих

    Разве это не одно и тоже? o_O

    А у меня как-то криво ArtioSEF работает: в меню появились ссылки на главную страницу, хотя до этого они вели в определённые категории, есть ещё ряд багов поменьше...
     
    Последнее редактирование: 25.09.2008
  18. Offline

    VitWin Недавно здесь

    Регистрация:
    30.10.2008
    Сообщения:
    10
    Симпатии:
    0
    Re: Как правильно включать SEf для начинающих

    Народ помогите плиз разобраться с функцией mod_rewrite. Дело вот в чем, я поставил Artio и все вроде супер, ссылки генерятся вроде ничего такие но не полностью вид ссылок joomla/index.php/about вот это в середине index.php просто бесит. Как я понял эта функция для того и создана что бы перезаписывать ссылки на человеческие, но как только я её включаю все не одна ссылка не работает, делаю тоже самое на локале все огонь то что нужно. Оправил хостеру поддерживает ли он эту функцию ответ пришёл положительный. Что мне сделать что бы не было этого index.php.
     
  19. Dead Krolik
    Offline

    Dead Krolik специалист

    Регистрация:
    13.04.2007
    Сообщения:
    3 688
    Симпатии:
    101
    Пол:
    Мужской
    Re: Как правильно включать SEf для начинающих

    Это один из двух способов генерации ссылок. Причем если index.php, то не требуется включение mod_rewrite. Я думаю надо просто в настройках поковыряться.
     
  20. Wild Tiger
    Offline

    Wild Tiger Недавно здесь

    Регистрация:
    14.07.2008
    Сообщения:
    190
    Симпатии:
    11
    Пол:
    Мужской
    Re: Как правильно включать SEf для начинающих

    если ЧПУ это "сайт/категория/тема", то тогда что такое SEF?
     
  21. PavelCh
    Offline

    PavelCh Недавно здесь

    Регистрация:
    15.02.2006
    Сообщения:
    104
    Симпатии:
    6
    Пол:
    Мужской
    Re: Как правильно включать SEf для начинающих

    Ребят, а если почестному, то стоит ли вообще включать SEF...? Просто тут где-то читал, что включённый SEF это один из способов защиты от турецких хаЦкеров, типа маскируем url'ы jooml'ы :) И что меньше нагружает систему запросами, встроенная SEF или сторонняя, например, OpenSEF/ArtioSEF...?

    P.S. Напробу поставил на денвере OpenSEF, всё отлично, только что-то голосование перестало работать :) ,выдаёт, что нет прав на страницу + статьи с длинными названиями не видит.
     

Поделиться этой страницей

Загрузка...