Вход • Регистрация

Про редиректы, еще раз

  • 22 октября 2012 г.
  • Разбирался вчера как загасить возможные дубли страниц и получил вот такой .htaccess
    Код
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !(.*)/$
    RewriteRule ^(.*[^/])$ $1/ [L,R=301]
    RewriteCond %{HTTP_HOST} !^www.
    RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]
    RewriteRule ^(.*)sitemap.xml$ index.php?rewrite=sitemap.xml [QSA]
    RewriteRule ^(.*)/$ index.php?rewrite=$1 [QSA]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?rewrite=$1 [QSA]
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.php HTTP/
    RewriteRule ^index.php$ http://www.domen.ru [R=301,L]

    </IfModule>

    У меня адресация страниц вида http://www.domen.ru/page-name/page-name1/
    Собственно тут редиректы с без www на с www, плюс убирается index.php из адреса www.domen.ru/index.php ну и закрывающие слеши.
    Всё работает, насколько смог протестировать, но если есть какие-то ошибки, сообщите пожалуйста. :)
  • 29 октября 2012 г.
  • Сейчас обнаружил, что страницы сайта доступны по адресам вида: /?rewrite=page_name А как сделать, чтобы выдавалась 404 ошибка или 301 редирект на /page_name/, в таких случаях?
    • 30 октября 2012 г.
    • Поднимали этот вопрос где-то на форуме уже. Таких ссылок в структуре нет, поэтому бояться нечего. В принципе, вручную конструкцию типа ?rewrite=page_name присобачить можно к любому сайту и он отдаст 200, например. И в таких случаях лучше просто закрыть в роботсе в ноиндекс все страницы ?rewrite* и всего делов.
      • 30 октября 2012 г.
      • Кстати да, можно их и закрыть, на случай глюков разных. Я вчера игрался с редиректами и почему то она страница такой урл выдала, хотя в меню другой. Успеет адский яндекс скушать страницу такую и придется бороться.
  • 02 ноября 2012 г.
  • Вылез косячек с моим htaccess
    Адрес карты сайта доступен по адресу www.sute.ru/sitemap.xml/ Т.е. слеш подставляется. :(
    Интересно, это можно пофиксить, не поломав все остальное?
    • 03 ноября 2012 г.
    • А так www.sute.ru/sitemap.xml не доступен?
      • 03 ноября 2012 г.
      • При обращении к таком адресу он превращается в www.site.ru/sitemap.xml/
        • 03 ноября 2012 г.
        • Это надо играть со строкой
          Код
          RewriteRule ^(.*)sitemap.xml$ index.php?rewrite=sitemap.xml [QSA]

          подвигайте ее либо в самый верх, либо вниз группы инструкций.
          • 03 ноября 2012 г. , редакция: 03 ноября 2012 г.
          • Виталий, сапожники без сапог - обычное дело
            Сейчас посмотрел ваш сайт и был "приятно" удивлён.
            Посмотрите: http://diafan.ru/index.html
    • 03 ноября 2012 г.
    • Вот такая строка RewriteCond %{REQUEST_URI} !=/sitemap.xml перед RewriteRule ^(.*[^/])$ $1/ [L,R=301] решали проблему.
  • 03 ноября 2012 г.
  • Цитата
    ... убирается index.php из адреса www.domen.ru/index.php ...


    А разве важно чтобы при обращении к domen.ru/index.php редиректило к domen.ru?
    • 03 ноября 2012 г.
    • Я считаю что да. Чем меньше вариантов адресов для конкретно страницы, чем лучше. Понятно, что поисковики склеят, но все таки стараюсь избегать любых дублей.

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум