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

301-редирект (со слешем и без, с www)

  • 19 августа 2011 г.
  • Здравствуйте! Вопрос по 301-редиректу. Как прописать редирект "без завершающего слеша" на "завершающий слеш". Если сайт лежит (cms) в папке site.ru/site/? Также, что нужно изменить в:

    RewriteCond %{HTTP_HOST} !^www.
    RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]

    , чтобы редирект вел на "без www". Заранее спасибо!
  • 19 августа 2011 г.
  • Спасибо! Но с редиректом на "со слешем" и "без www" не получается (
  • 29 августа 2011 г.
  • Необходимо в файле .htaccess прописать следующее:

    #убираем слэш в конце
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} ^(.+)/$
    RewriteRule ^(.+)/$ /$1 [R=301,L]

    #добавляем слэш в конце
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !(.*)/$
    RewriteRule ^(.*[^/])$ $1/ [L,R=301]


    (c) Андрей Уваров
    • 06 октября 2011 г.
    • Ну а чтобы сайт без www вел на www надо раскомментировать в .htaccess две строки
      # RewriteCond %{HTTP_HOST} !^www.
      # RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]
      • 26 декабря 2011 г.
      • RewriteEngine on
        RewriteCond %{HTTP_HOST} ^www.сайт-52.рф$
        RewriteRule ^(.*)$ http://сайт-52.рф/ [R=301,L]

        Не работает!
        Ввожу www.сайт-52.рф и у меня так и остается этот УРЛ
        • 26 декабря 2011 г.
        • Что-то я не понял... Что-что Вы вводите? Дословно?
          Цитата
          RewriteCond %{HTTP_HOST} ^www.сайт-52.рф$
          ???
          А зачем???
          • 04 февраля 2013 г.
          • Ему нужно было редиректить на адрес без "ввв". Мне нужно то же самое, как правильно сделать чтобы с адреса с "www" редиректило на адрес без "www"?
            • 04 февраля 2013 г. , редакция: 04 февраля 2013 г.
            • Валерий, у меня такой htaccess и редиректится с ввв на без ввв:

              Код
              Options -Indexes

              Options +FollowSymLinks

              DirectoryIndex index.php index.html

              ErrorDocument 404 /404.php

              AddDefaultCharset utf-8
              AddType image/x-icon .ico

              RewriteCond %{REQUEST_URI} /+[^.]+$
              RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

              RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.php HTTP/
              RewriteRule ^index.php$ http://site.ru/ [R=301,L]

              RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.html HTTP/
              RewriteRule ^index.html$ http://site.ru/ [R=301,L]

              <IfModule mod_rewrite.c>
              RewriteEngine on
              RewriteCond %{HTTP_HOST} !^site.ru [NC]
              RewriteRule (.*) http://site.ru/$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]
              RewriteRule ^index.php/(.*)$ index.php?rewrite=index.php/$1 [QSA]
              </IfModule>

              <IfModule mod_headers.c>
              Header append Cache-Control "no-store, no-cache, must-revalidate"
              </IfModule>
    • 10 марта 2012 г.
    • #добавляем слэш в конце
      RewriteBase /
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_URI} !(.*)/$
      RewriteRule ^(.*[^/])$ $1/ [L,R=301]

      добавил, но почему-то не работает!
  • 26 декабря 2011 г.
  • Должно быть так?

    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www.
    RewriteRule (.*) http://%{HTTP_HOST}/$1 [R=301,L]
    • 28 июня 2012 г.
    • Без www со слешем на конце

      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]

      У меня работает, однако есть маленькие сомнения кое в чем ))
  • 01 января 2013 г.
  • хм ставил редирект со страницы со слэшем на стр без слэша.
    Итог:

    Есть страница сайт.ru/страница/

    Когда я делаю редирект на страницу сайт.ru/страница

    То вместо этого (сайт.ru/страница)
    я вижу http://сайт.ru/index.php?rewrite=index.php/&rewrite=старница

    Вопрос: как сделать чистый урл вида сайт.ru/страница?

    И с Новым Годом всех! :)
    • 20 февраля 2013 г.
    • Аналогичная проблема... - никак не могу заставить работать приведенный выше код, чтобы редирект был с site.ru/страница/ на site.ru/страница
  • 12 января 2013 г.
  • Если добавляю

    Код


    #добавляем слэш в конце
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !(.*)/$
    RewriteRule ^(.*[^/])$ $1/ [L,R=301]


    код вставляю между

    Код

    <IfModule mod_rewrite.c>


    что происходит: / добавляется, но стили перестали подгружаться и главная страница перестала работать

    Сейчас очень надо для продвижения.

    может у кого есть рабочий файл htacssess где идет 301 редирект с без www на www. (он кстати работает (спасибо разработчикам)) и чтобы в конце пути добавлялся / без вского мусора и двойного слэша //

    мусор это типа

    Код
    чтобы при редиректе со страницы
    www.site.ru/contacts

    не было такого

    www.site.ru/contacts/?www.site.ru/contact



    буду весьма благодарен и наеврно не я один
  • 24 марта 2013 г.
  • Еще актуально? Были у меня танцы с бубнами, хотя не знаю, подойдет ли Вам мой вариант.
  • 26 марта 2014 г.
  • Может кто поделиться рабочим вариантом редиректа страниц со слешем на страницы без слеша + со страниц с www на без www.

    Вариант:
    #убираем слэш в конце
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} ^(.+)/$
    RewriteRule ^(.+)/$ /$1 [R=301,L]

    убирает слэш, но:
    "Когда идет POST запрос на сохранение на адрес site.ru/site/save3/ по правилу идет редирект на site.ru/site/save3 и теряются все POST данные."

    Тех. поддержка написала:
    В административной части надо этот редирект исключить. То есть редирект должен распространятся на все ссылки кроме тех, что начинаются с admin.
  • 22 июля 2016 г.
  • Здравствуйте!
    Не получается прописать 301 редирект с главной на внутренний раздел сайта.
    Как это можно сделать на Diafan?

    P.S. Стандартные конструкции не работают. Исходный код файла .htaccess:

    Options -Indexes
    php_value allow_url_fopen On

    Options +FollowSymLinks

    DirectoryIndex index.php index.html

    ErrorDocument 404 /404.php

    AddDefaultCharset utf-8

    <IfModule mod_rewrite.c>
    RewriteEngine on

    # раскомментируйте строку ниже, если на Вашем хостинге установщик выдает ошибку 500 Internal Server Error
    # измените / на /sub/ при установке в подпапку http://site.ru/sub/
    # RewriteBase /

    # расcкомментируйте строки ниже, если хотите чтобы сайт был всегда с www,
    # т.е. постоянный редирект с http://site.ru/ на http://www.site.ru/
    # RewriteCond %{HTTP_HOST} !^www.
    # RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]

    RewriteCond %{HTTP:Authorization} !^$
    RewriteCond %{REQUEST_URI} ^/shop/1c/.*
    RewriteRule ^(.*)$ shop/1c/?auth=%{HTTP:Authorization}&%{QUERY_STRING}

    RewriteRule ^(.*)sitemap.xml$ index.php?rewrite=sitemap.xml [QSA]
    RewriteRule ^(&*)(.*)/$ index.php?rewrite=$2 [QSA]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(&*)(.*)$ index.php?rewrite=$2 [QSA]
    RewriteRule ^index.php/(.*)$ index.php?rewrite=index.php/$1 [QSA]

    # If-Modified-Since (if php is not installed as cgi then comment lines below)
    RewriteRule .* - [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}]
    RewriteRule .* - [E=HTTP_IF_NONE_MATCH:%{HTTP:If-None-Match}]
    </IfModule>

    <IfModule mod_headers.c>
    <FilesMatch ".(flv|woff|woff2|eot|svg|otf|ttf|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$">
    Header set Cache-Control "max-age=864000"
    </FilesMatch>
    </IfModule>
    php_value allow_url_fopen On
    • 22 июля 2016 г.
    • посмотрите, сработает ли 301 редирект, если прописать его в Дополнительных настройках страницы.
      • 22 июля 2016 г.
      • CMS установлена и привязана к разделу на сайте.
        Главная страница без привязки к CMS, там сейчас по сути ничего нет (она в разработке).
  • 10 марта 2017 г.
  • Интересует почему если в настройках чпу оканчивается на /
    Все страницы корректно формируют адреса site.ru/onas/
    кроме: site.ru/index.html и site.ru/index.php тут слеш не подставляется ?
    Если самому набрать со слешом site.ru/index.php/ то ошибка 404
    Далее, если в настройках чпу оканчивается ставим пусто, то страницы site.ru/index.php/ и site.ru/index.html/ перекидывает без слеша на site.ru/index.html и site.ru/index.php
    Кто что думает? Ошибка или нет?


  • 19 мая 2017 г.
  • Здравствуйте.
    Такой вопрос все мучает (нигде про это не могу найти).
    Правила редиректов на со слешем и без слеша действуют только на на все "второстепенные" страницы сайта? К главной странице сайта site.ru/ она не применима?
    Главная всегда имеет вид со слешем site.ru/ (даже если редиректы на без слеша)?
    • 19 мая 2017 г.
    • Если у Вас ЧПУ, заканчивается на "/", то да, но может быть и ".html"
      И Канонический тег, тоже тогда должен стоять с "/"

Новости

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

Форум