Редирект с одной страницы на главную htaccess

Как сделать 301 редирект (переадресацию) через htaccess

Редирект (перенаправление или форвардинг) —позволяет автоматически переадресовать пользователя, посетившего страницу А на страницу Б. Например, пользователь, пытающийся открыть страницу site.ru/page1/ будет попадать на site.ru/page2.

Как сделать редирект через файл htaccess

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

Redirect 301 site.ru/page1/ site.ru/page2/

Важно! Можно записывать адреса в относительном виде, например, /page1/ и /page2/.

Также допускается использование конструкции:

Redirect permanent site.ru/page1/ site.ru/page2/

Для того, чтобы выполнить правило, потребуется посетить административную панель хостинга (или же зайти через FTP), где в корневой папке сайта лежит файл htaccess.

Редирект с одной страницы на главную htaccess. Смотреть фото Редирект с одной страницы на главную htaccess. Смотреть картинку Редирект с одной страницы на главную htaccess. Картинка про Редирект с одной страницы на главную htaccess. Фото Редирект с одной страницы на главную htaccess

Вводим нужное нам правило.

Редирект с одной страницы на главную htaccess. Смотреть фото Редирект с одной страницы на главную htaccess. Смотреть картинку Редирект с одной страницы на главную htaccess. Картинка про Редирект с одной страницы на главную htaccess. Фото Редирект с одной страницы на главную htaccess

Как проверить работу 301 редиректа?

Для этого можно использовать инструмент проверки ответа сервера Яндекса:

Здесь вводим адрес первой страницы и видим следующее:

Редирект с одной страницы на главную htaccess. Смотреть фото Редирект с одной страницы на главную htaccess. Смотреть картинку Редирект с одной страницы на главную htaccess. Картинка про Редирект с одной страницы на главную htaccess. Фото Редирект с одной страницы на главную htaccess

Как видим правило применилось и работает корректно.

Как сделать перенаправление на другой домен?

В этом случае необходимо автоматически перекидывать всех пользователей с домена domain1.ru на domain2.ru при помощи функции:

RewriteRule ^(.*)$ http://www.domain2/$1 [R=301,L]

Переадресация с http на https

При переезде сайта с http на https (установка SSL-сертификата) потребуется код, который не требует дополнительных модификаций:

Второй метод осуществляет перенос с http://domain.ru на https://domain.ru:

RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]

Третий способ выполняет аналогичную функцию, но отключает перенаправление для robots.txt:

RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]

В 4-й версии конечным пунктом для пользователя станет https://www.domain.ru:

RewriteRule ^(.*)$ https://www.domain.ru/$1 [R=301,L]

Позволяет сделать форвардинг с http://www.poddomen.domain.ru на https://poddomen.domain.ru:

RewriteCond % ^www\.poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ https://poddomen.domain.ru/$1 [R=301,L]

Последняя версия, дающая возможность сделать связь между http://poddomen.domain.ru на https://www.poddomen.domain.ru:

RewriteCond % ^poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ https://www.poddomain.domain.ru/$1 [R=301,L]

301 редирект с домена без WWW на с WWW

В функции ниже осуществляется переход из www.poddomen.domain.ru на poddomen.domain.ru:

RewriteCond % ^www\.poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ http://poddomen.domain.ru/$1 [R=301,L]

Если же первый способ не помог можно использовать данную версию:

RewriteCond % !^poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ http://poddomen.domain.ru/$1 [R=301,L]

С www на без WWW

RewriteCond % ^poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ http://www.poddomen.domain.ru/$1 [R=301,L]

Также имеется второй метод не требующий ввода доменного имени:

C https на http

При необходимости сделать обратную интеграцию и перейти на незащищенную версию протокола можно воспользоваться:

301 редирект на http для одной страницы

В этой ситуации подойдет:

Второй метод осуществляет общий переезд на защищенный протокол (https), но одна страница останется на старом протоколе (http). Этот способ подойдет для интеграции 1С Bitrix с 1С Предприятие, так как система не может работать с защищенным протоколом:

Для готовой интеграции с 1С-Битрикс, формула позволяющая исключить директорию bitrix/admin/1c_exchange.php из общего правила:

RewriteCond % !^/bitrix/admin/1c_exchange\.php$ [NC]

Форвардинг на https для конкретной страницы

Для этой цели можно воспользоваться:

RewriteCond % ^/Необходимая директория_страница$

С несуществующего файла

В этом случае можно будет применить:

RewriteRule ^(.*)$ /poddomen/script.php [R=301,L]

Также подойдет второй способ:

RewriteCond % !^poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ http://poddomen.domain.ru/$1 [R=301,L]

Перенаправление на подкаталог

В этом случае возможно пербрасывать пользователей с poddomen.domain.ru на подкаталог poddomen.

RewriteEngine on
RewriteBase /
RewriteCond % !^/poddomen
RewriteCond % ^poddomen.domain.ru$ [NC]
RewriteRule ^index.php(.*)$ /poddomen/$1 [L,QSA]

RewriteEngine on
RewriteBase /
RewriteCond % ^poddomen.domain.ru$
RewriteCond % !/poddomen/
RewriteRule ^(.*)$ /poddomen/$1 [L]

В случае, когда речь идет о www.poddomen.doamin.ru необходимо применить:

RewriteRule ^(.*)$ /poddomen/$1 [L]

С любой страницы на главную

RewriteRule ^(.*)$ index.php [L,QSA]

С поддомена на основной домен

Если требуется выполнить условие для всех поддоменов без исключения:

RewriteCond % ^(.+).domain.ru$
RewriteRule (.*) http://site.ru/$1?region=%1 [L,R=301,QSA]

Когда речь идет о конкретном поддомене следует использовать:

Источник

На хостинге RU-CENTER в настоящее время используется веб-сервер Apache версии 2.4.

Директивы файла .htaccess действуют для каталога, в котором размещён такой файл, и для всех его подкаталогов. Если вы желаете с помощью .htaccess изменить настройки для сайта в целом, его следует размещать в корневом каталоге сайта

Пожалуйста, будьте внимательны при редактировании файла .htaccess! При сохранении такого файла в кодировке UTF-8 в нём не должно присутствовать BOM-сигнатуры. Для редактирования файла .htaccess и других конфигурационных файлов мы рекомендуем использовать не «Блокнот» Windows, а специальные текстовые редакторы, например Notepad++.

1. Перенаправление доменов c синонима сайта на основной домен с кодом 301

Перенаправить запросы на domain.ru с любого из синонимов сайта

RewriteEngine On
RewriteCond % !^domain\.ru$ [NC]
RewriteRule ^(.*)$ http://domain.ru/$1 [L,R=301]

Перенаправить запросы на www.domain.ru с любого из синонимов сайта

RewriteEngine On
RewriteCond % !^www\.domain\.ru$ [NC]
RewriteRule ^(.*)$ http://www.domain.ru/$1 [L,R=301]

Эти правила рекомендуется размещать в самом начале файла .htaccess.

2. Постоянное перенаправление с кодом 301

Redirect 301 /page.html http://www.domain.ru/new_page.html

Например, для перенаправления всех запросов к странице /period/?test=123 вашего сайта на domain.ru, вы можете написать:

Options +FollowSymLinks
RewriteEngine On
RewriteCond % ^test=123$ [NC]
RewriteRule ^period/$ http://domain.ru/ [L,R=301]

3. Переопределение страниц ошибок

#401 Авторизация не выполнена
ErrorDocument 401 http://domain.ru/errors/401.html
#403 Доступ запрещен
ErrorDocument 403 http://domain.ru/errors/403.html
#404 Страница не найдена
ErrorDocument 404 http://domain.ru/errors/404.html
#500 Внутренняя ошибка сервера
ErrorDocument 500 http://domain.ru/errors/500.html

Соответствующие файлы страниц ошибок (401.html, 404.html и др.) необходимо разместить в каталоге

Для того чтобы при случайном упоминании прямых ссылок на такие страницы они не проиндексировались в поисковых системах, рекомендуется:

User-agent: *
Disallow: /errors

/ваш_домен/docs/errors/.htaccess, в котором прописать

4. Постраничное перенаправление запросов на другой домен c кодом 301

Следующий код перенаправит все запросы к страницам вашего сайта на аналогичные страницы другого сайта, например, запрос http://domain.ru/main будет переадресован на http://www.newdomain.ru/main:

Redirect 301 / http://www.newdomain.ru/

RewriteEngine On
RewriteRule ^(.*)$ http://newdomain.ru/$1 [R=301,L]

5. Ограничение доступа к сайту по IP

Запретить доступ к сайту с IP-адресов 123.4.5.6 и 123.5.4.3

Order Allow,Deny
Allow from all
Deny from 123.4.5.6 123.5.4.3

Запретить доступ к сайту со всех адресов кроме 123.4.5.6 и 123.5.4.3:

Order Deny,Allow
Deny from all
Allow from 123.4.5.6 123.5.4.3

Запретить доступ к сайту для всех:

6. Переопределение главной страницы сайта (индексного файла каталога)

Сделать главной страницей файл menu.html:

8. Запрет выдачи листинга каталога

В случае отсутствия в папке главной страницы (индексного файла), при обращении без указания конкретного имени файла в запросе будет выдан список всех файлов, находящихся в каталоге. Для того чтобы запретить отображение листинга каталога, добавьте в файл .htaccess строку:

Скрипт должен иметь атрибут исполнения (+x, права доступа, начинающиеся с 7, например, 755).

10. Блокировка переходов со сторонних ресурсов

Для запрета перехода c baddomain.ru на domain.ru добавьте в .htaccess следующее:

Если требуется запретить переходы с нескольких доменов, то используйте следующие директивы

В файле .htaccess использование кириллицы не допускается. При составлении правил перенаправления для кириллических доменов необходимо указывать имя домена в punycode. Узнать имя домена в punycode можно с помощью сервиса Whois.

Например, для перенаправления site.ru на caйт.рф нужно воспользоваться следующим правилом:

RewriteEngine on
RewriteCond % ^www\.site.ru [NC]
RewriteRule ^(.*)$ http://xn--80aswg.xn--p1ai/$1 [R=301,L]

В этом случае ваши посетители могут увидеть именно punycode-представление доменного имени в адресной строке браузера. Это не является ошибкой.

12. Перенаправление с HTTP на HTTPS и обратно

Для работы перенаправления на сайте должен быть установлен действительный SSL-сертификат.

Перенаправить запросы на https://domain.ru

Перенаправить запросы на http://domain.ru

3. Диагностика ошибок

Если после редактирования или размещения .htaccess при обращении к сайту вы получили ошибку 500, то, скорее всего, в файле .htaccess допущена ошибка. Посмотреть её причины вы можете в лог-файле /var/log/ваш_домен.error_log.

Источник

Если вы ещё не знаете, зачем нужно перенаправление страниц сайта, читайте нашу статью Что такое редирект.

Для чего нужен 301-й редирект

Помимо разных способов настройки переадресации, существуют разные виды редиректов. Каждый из них имеет своё кодовое название. Основные виды:

Также существуют 304-й, 306-й и 307-й редиректы. Однако сейчас эти виды практически никто не использует. Один из самых популярных видов — это 301-й.

301-й редирект (Moved Permanently) — это постоянный редирект. Используется для перемещения страницы на новый URL-адрес насовсем. Когда поисковые системы встречают страницу с редиректом 301, они «понимают», что теперь необходимо индексировать новую страницу, а старую можно полностью исключить из индексации. Если настроить переадресацию 301 некорректно, на странице будет отображаться ошибка 404. Индексация страниц с ошибками приводит к снижению SEO-показателей всего веб-ресурса.

1С-Битрикс — популярная CMS в которой время от времени необходимо настраивать перенаправление.

Где www.site.ru — домен, с которого происходит редирект, а site.ru — домен, на который происходит редирект.

Где www. — домен, с которого происходит редирект, а www. — домен, на который происходит редирект.

Где site.ru — имя вашего домена.

Где site.ru — имя вашего домена.

Где site.ru — имя вашего домена.

Где site.ru — имя вашего домена.

Для всех страниц с http:// на https://, в том числе и с http://www на https://

Если первый вариант не поможет, воспользуйтесь вторым вариантом:

Если все варианты не помогли и возникает циклическая переадресация:

Источник

Код состояния HTTP 301 или Moved Permanently («Перемещено навсегда») — стандартный код ответа сервера, который может быть получен, если запрошенный URL-адрес сайта был навсегда перенесен в новое месторасположение.

Проверка кода ответа. Быстрая и бесплатная проверка кодов ответа для списка URL в режиме онлайн реализована в рамках комплекса инструментов «Пиксель Тулс», предусмотрено удобное цветовое кодирование и загрузка URL файлом.

Анализ проведён с помощью инструментов в сервисе Пиксель Тулс.

Options +FollowSymLinks
RewriteEngine On

# Текстовый комментарий, данная строчка не будет обрабатываться.

RewriteCond % ^site\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

RewriteCond % ^www.site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

RewriteCond % ^80$ [OR]
RewriteCond % =on
RewriteRule ^(.*)$ https://pixelplus.ru/$1 [R=301,L]

Redirect 301 /was.php http://www.site.ru/new.php

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

RewriteRule ^dir /dir-new/$1 [R=301,L]

Скажем, адрес страницы имеет вид: http://www.site.ru/dir/index.php?IBLOCK_ID=1&SECTION_ID=111 тогда для настройки 301 переадресации на новый адрес, необходимо использовать следующее правило:

RewriteCond % ^IBLOCK_ID=1&SECTION_ID=111$ [NC]
RewriteRule ^dir/index\.php$ /new/sef/? [R=301,L]

Если один (или несколько) из GET параметров не задан(ы) или может иметь произвольное значение (в нашем примере это SECTION_ID), можно использовать следующий код:

RewriteCond % ^IBLOCK_ID=1&SECTION_ID=(.*)$ [NC]
RewriteRule ^dir/index\.php$ /new/sef/? [R=301,L]

Если адрес имеет следующий вид: http://www.site.ru/?abc то для перенаправления подойдет последовательность строчек:

RewriteCond % ^abc$ [NC]
RewriteRule ^$ /? [R=301,L]

Если требуется настроить переадресацию только для адреса http://www.site.ru/dir/, но при этом чтобы страница http://www.site.ru/dir/index.php?IBLOCK_ID=1 открывалась по старому адресу, необходимо использовать спецсимвол $ в правиле.

RewriteRule ^dir/$ http://www.site.ru/new-dir/ [R=301,L]

Для доменов в зоне РФ действуют все те же правила, но только все кириллические символы необходимо заменить на альтернативный код (он на латинице). В частности, сама зона .рф преобразуется в .xn--p1ai.

RewriteCond % ^old-site\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

И для домена в зоне РФ:

RewriteCond % ^xn-. \.xn--p1ai$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

RewriteCond % ^si-te\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/si-te/ [R=301,L]

RewriteRule ^bitrix/ /bitrix/admin/ [L,R=301]
RewriteRule ^(.*)$ http://www.newsite.ru/new/ [L,R=301]

RewriteRule ^dir(.*)$ /new-file.php [L,R=301]

RewriteRule ^dir/no-file.html /no-file-new.html [L,R=301]
RewriteRule ^dir(.*)$ /all.php [L,R=301]

RedirectMatch 301 (.*)\.html$ http://www.new-site.ru$1.php

RewriteRule ^img/(.+)\.jpg$ http://img.domain.ru/$1.jpg [R=301,L]

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

DirectoryIndex index.html index.php index.htm index.shtml

RewriteCond % ^[A-Z]<3,9>\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.site.ru/ [R=301,L]

Для всех индексных страниц на сайте:
RewriteRule ^(.*)index\.php$ http://www.site.ru/$1 [R=301,L]

RewriteCond % ^test.site.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru% [R=301,NC,L,QSA]

RewriteRule [^abc]/unique-file.html /unique-file.html [R=301,L]

Код позволяет поставить 301-редирект со всех папок вида http://site.ru/***/uniqe-file.html на один файл в корне /unique-file.html. Бывает полезен при переделке сайта и изменении ссылок.

RewriteRule ^testovyi/test/?$ /studio/news/detail.php?ID=230354&PAGEN_2=11 [NC,L]

Код позволяет создать копию страницы с относительным адресом /studio/news/detail.php?ID=230354&PAGEN_2=11 по адресу /testovyi/test/

Позволяет устранить наличие дублей URL с HTTPS в индексе поисковых систем.

RewriteCond % ^80$ [OR]
RewriteCond % =on
RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]

Настройка позволяет отклонить спамный реферальный трафик с ряда ресурсов по заголовку HTTP_REFERER.

Внимание, важно чтобы код ответа сервера для 404 ошибки был именно 404. Путь к файлу указывается с помощью следующей строчки:

ErrorDocument 404 /404-for-me.php

! Для сайтов, на которых используется не сервер Apache, аналогичные 301-редиректы легко настраиваются с помощью PHP.

! Оптимально настраивать все редиректы сразу на конечную страницу (без промежуточных перенаправлений, в один шаг) это улучшает их восприятие со стороны поисковых систем и пользователей.

RewriteCond % (iPad|ipad|iphone|iPhone|ipod|iPod|android|midp|j2me|symbian|series\ 60|symbos|windows\ mobile|windows\ ce|ppc|smartphone|blackberry|mtk|bada|windows\ phone) [NC]
RewriteRule (.*) http://mobile.site.ru/ [L,R=301]

RewriteCond % !(accoona|ia_archiver|antabot|ask\ jeeves|baidu|dcpbot |eltaindexer|feedfetcher|gamespy|gigabot|googlebot |gsa-crawler|grub-client|gulper|slurp|mihalism|msnbot|worldindexer |ooyyo|pagebull|scooter|w3c_validator|jigsaw|webalta|yahoofeedseeker |yahoo!\ slurp|mmcrawler|yandexbot|yandeximages |yandexvideo|yandexmedia|yandexblogs|yandexaddurl|yandexfavicons |yandexdirect|yandexmetrika|yandexcatalog|yandexnews |yandeximageresizer) [NC]
RewriteRule (.*) http://no-search.site.ru/ [L,R=301]

Переадресация с www.site.ru/component/content/?view=featured на www.site.ru/
RewriteCond % ^view=featured$ [NC]
RewriteRule ^component/content/$ /? [R=301,L]

Переадресация с www.site.ru/index.php?idc=4&marea=6 на www.site.ru/
RewriteCond % ^idc=4&marea=6$ [NC]
RewriteRule ^index\.php$ /? [R=301,L]

. — Точка заменяет произвольный символ.
[abc] — обозначает перечень символов, совпадающих с буквами a, b, или с.
[^abc] — перечень символов, которые не входят в указанных диапазон. Совпадёт с любым символом, кроме a, b, или с.
* — означает, что предшествующий символ может повторяться (0 или более раз).
[abc]* — команда найдёт идущие подряд символы из заданного набора.
[^abc]* — с точностью до наоборот.

.* — заменяет абсолютно любой набор символов. «.*» — найдёт все подстроки между кавычками.
^ — начало строки (в том случае, если используется в начале выражения).
$ — обозначает конец строки.

\w — буква, цифра или подчёркивание _.
\d — заменяет любую цифру.
\D — заменяет любой символ, но не цифру.
5 — заменяет любую цифру.
[a-z] — любая буква от a до z (весь латинский набор символов) в нижнем регистре.
[A-Z] — любая буква от A до Z в ВЕРХНЕМ регистре.
[a-zA-Z] — любая буква от a до Z в любом регистре.
[a-Z] — то же самое.

Памятка по используемым символам и обозначениям

Строчка RewriteCond — условие выполнения правила RewriteRule. Если условие выполняется, то срабатывает редирект. Правила могут задаваться с помощью регулярных выражений.

Спецсимволы, используемые в правилах и их значения.

Модификаторы используются после обычных, спецсимволов или их групп и позволяют расширить возможности шаблонов для срабатывания правил.

Флаги, задают доп. опции для используемого правила. Перечисляются в квадратных скобках через запятую, скажем [NC] или [R=301,L].

Источник

Благодаря «RewriteBase /» удобнее делать преобразования URI (убирается привязка к физическому расположению файлов сайта на сервере).

Давайте рассмотрим самые распространенные примеры:

1. Простой редирект

Для простого редиректа условия задавать не обязательно, только правило.

2. Реврайт без редиректа

Иногда требуется, чтобы был редирект без смены адреса, т.е. реврайт без редиректа. Для этого просто не указываем флаг редирект (R), и получаем желаемый результат, теперь по адресу news/happy получим news.html, а в адресной строке останется news/happy

3. Редирект с сохранением рейтинга страницы

4. Редирект для домена с www.site.com на site.com

Убираем у всех запросов вначале «WWW.»

5. Редирект для домена с site.com на www.site.com

6. Редирект с index.php (html,htm) на главную страницу

7. Редирект с index.html на папку (удаление из строки браузера index.html)

9. Чтобы вместо page.htm загружался файл page.html

10. Переезд с одного домена на другой

11. Редирект всех файлов в папке на один файл

12. Задание типа индексной страницы (php, html, htm и другие)

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

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

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

14. Определение кодировки, в которой сервер «отдает» файлы

Варианты: KOI8-R, UTF-8, Windows-1251

15. Определение кодировки на загружаемые файлы

Варианты: KOI8-R, UTF-8, Windows-1251

16. Кэширование для всех типов файлов по времени доступа

17. Кэширование для всех типов файлов по времени изменения

18. Кэширование для определённых типов файлов

19. Главная страница без дублирования

20. Редирект страниц без слэша в конце URL на слеш

Чтобы предотвратить ситуацию с индексированием страниц www.site.com/about и www.site.com/about/ как разных, ставим следущий код: Со страниц без слэша будет установлен редирект на «слэшевые».

21. Принудительная постановка замыкающего слеша

Следующий код всегда будет добавлять слеш в адрес URL вашего сайта, что хорошо помогает в области SEO сайта.

22. Удалить слеш в конце

23. Удаляем «category» из URL

24. Редирект URL страницы с папки в корень сайта

Например страница лежит на сервере в site.com/category/blue.html, но надо чтобы страница работала по запросу site.com/blue.html

25. Редирект от GET параметров

Например, нужно что бы со страницы /?action=page&id=15 был редирект на /page/15/

26. Редирект на мобильную версию сайта

Допустим, что мобильная версия расположена на поддомене m.site.com. Будем переходить на мобильную версию только с главной страницы основного домена.

Первой строкой мы проверяем USER_AGENT, определяем что он относится к мобильникам. (эту строку я детально не проверял, взял на просторе интернета, возможно она не совсем корректная, или есть более универсальная строка. Но на моих мобильных устройствах этот пример работает)

Второй строкой проверяем что мы находимся на нужном домене (т.к. пример не универсальный)

Третьей строкой, мы проверяем, что находимся на главной страницы (без всяких параметров и прочего) и перенаправляем на поддомен.

27. Редирект на мобильную версию сайта (Универсальная версия)

28. Обработка ошибок Apache

29. Сохранение (загрузка) файлов вместо открытия

30. Переадресация с www.site.com/index.php?idc=4&marea=6 на www.site.com/

31. Редирект с поддомена на основной домен второго уровня

32. Изменяем переменные php и передаём обработку другому скрипту.

33. Убираем переменные php из запроса

(вырезаем из URI всё, что находится после знака вопроса)

34. Заперт входа на сайт

Запрещаем вход на сайт Интернет Експлореру (вернее, кто себя так определяет) и пользователям с определённого IP-адреса (xxx.xxx.xxx.xxx).

35. Закрываем от всех

36. Закрываем конкретный файл от всех

37. Разрешаем доступ только с одного ip

38. Запрещаем доступ с конкретных ip

39. Убираем из Урла (URL) расширение файла

php можно заменить другим расширением. Например: html, htm, shtml, asp

41. Запрещаем отображать содержимое директории, если нет индексного файла

Вы скорее всего хоть раз видели текст Index of и список файлов. Так происходит в том случае, когда в директории нет индексного файла (например index.php), а система предлагает выбрать файл для дальнейшего открытия. Минус этого заключается в том, что случайный пользователь может увидеть список и содержание всех файлов директории.

42. Перенаправление с HTTPS на http

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

Когда нужно применять уловки типа содержания зависящего от времени масса вебмастеров все ещё используют CGI скрипты которые производят редиректы на специальные страницы. Как это может быть сделано через mod_rewrite?

Есть много переменных названных TIME_xxx для условий редиректа. В связке со специальными лексикографическими образцами для сравнения STRING и =STRING мы можем производить редиректы зависящие от времени:

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

44. Редирект в URL с подчеркивания в дефис

45. Редирект в URL с больших символов на маленькие

46. Массовый редирект новых файлов

Предположим вы перешли на новую систему ссылок на вашем сайте и все файлы оканчивающиеся на старый id должны быть средирекчены. Сначала создаем в базе таблицу, которая содержит старый id и новый URL для редиректа.

old_id INT new_url VARCHAR (255)

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *