Марат-блог
Услуги по продвижению и разработке сайта
Отправить заявку
Заказать обратный звонок

Спасибо, Ваша заявка принята.

В ближайшее время менеджер свяжется с Вами.

Главная » Инструкции » Web » Редиректы htaccess в зависимости от времени

Редиректы htaccess в зависимости от времени

  1. Есть много переменных названных TIME_xxx для условий редиректа. В связке со специальными лексикографическими образцами для сравнения <STRING, >STRING и =STRING мы можем производить редиректы зависящие от времени:
        RewriteEngine on
        RewriteCond   %{TIME_HOUR}%{TIME_MIN} >0700
        RewriteCond   %{TIME_HOUR}%{TIME_MIN} <1900
        RewriteRule   ^foo\.html$             foo.day.html
        RewriteRule   ^foo\.html$             foo.night.html
    

    Это выдает содержимое foo.day.html при запросе URL foo.html с 07:00 до 19:00 а в оставшееся время содержимое foo.night.html.

  2. Убираем у всех запросов вначале "WWW."
    RewriteEngine on    # оглашаем, что хотим использовать mod_rewrite
    RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
    RewriteRule ^/?(.*) http://%1/$1 [L,R=permanent]
    

    Проверяем доменное имя, если оно начинается с www, то сработает правило: "все, на http://%1/$1". Здесь %1 это наш домен без www (взят из условия), а $1 это адрес (взят из самого правила).

  3. Убираем у всех запросов в конце index.php. Переадресуем на страницу без index.php

    Поисковые системы плохо относятся к дубрям страниц. Чтобы этого избежать нужно удалить(склеить) страницы вида http://ваш_домен/ и http://ваш_домен/index.php

    RewriteCond %{THE_REQUEST} ^.*/index.php
    RewriteRule ^(.*)index.php$ http://%{HTTP_HOST}/$1 [R=301,L]
    
  4. Меняем расширение .html на .php
    Иногда бывает так, что у Вас статичный веб-сайт, а Вам необходимо, чтобы на нем срабатывал какой-нибудь php-скрипт. Для этого Вам необходимо сказать серверу, чтобы он обрабатывал эту страницу как php-файл.
    AddHandler application/x-httpd-php .html
    
    Этот прием можно использовать и для других расширений файлов:
    AddHandler application/x-httpd-php .xml
    AddHandler application/x-httpd-php .asp