Справочный центр
Справочный центр: Настройки PHP
Правила Mod_Rewrite в .htaccess
Отправлено в 28 April 2013 20:37

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

Обратите внимание! Директивы php_flag и php_value на нашем хостинге работать не будут. Соответствующие настройки можно осуществлять в файле php.ini.

В файле .htaccess вы можете настроить правила Rewrite, которые позволяют:

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

Для осуществления данной задачи поддомен должен быть добавлен как алиас основному домену. Например, если домен выглядит как domain.ru, поддомен – как sub.domain.ru, а направить запросы для него вы хотите в директорию sub – правило будет выглядеть так:

RewriteEngine On
RewriteRule ^sub/ - [L]
RewriteCond %{HTTP_HOST} ^sub\.domain\.ru$
RewriteCond %{DOCUMENT_ROOT}/sub%{REQUEST_URI} -d
RewriteRule [^/]$ %{REQUEST_URI}/ [R,L]
RewriteCond %{HTTP_HOST} ^sub\.domain\.ru$
RewriteRule (.*) sub/$1 [L,QSA]
RewriteRule ^sub/ - [L]
RewriteCond %{HTTP_HOST} ^www\.sub\.domain\.ru$
RewriteCond %{DOCUMENT_ROOT}/sub%{REQUEST_URI} -d
RewriteRule [^/]$ %{REQUEST_URI}/ [R,L]
RewriteCond %{HTTP_HOST} ^www\.sub\.domain\.ru$
RewriteRule (.*) sub/$1 [L,QSA]

  • Удалять дубли страниц.

Если вы хотите, чтобы все запросы на domain.ru, www.domain.ru, domain.ru/index.php и www.domain.ru/index.php перенаправлялись на www.domain.ru, используйте следующее правило:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.ru
RewriteRule (.*) http://www.domain.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.domain.ru/ [R=301,L]

  • Включать обработку скриптов PHP в файлах html.

Для того чтобы PHP-код обрабатывался в HTML-файлах, вам нужно добавить в файл .htaccess вашего сайта строку:

AddHandler php5-cgi-script .php .html

  • Защищать рисунки от скачивания.

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

Механизм защиты таков: при прямом скачивании вместо самого изображения будет выдан файл protect.jpg, который вам заблаговременно нужно создать и поместить в корень сайта. Затем пропишите в .htaccess следующее:

RewriteEngine on
RewriteCond %{HTTP_REFERER} .
RewriteCond %{HTTP_REFERER} !^http://([^.]+\.)?domain\. [NC]
RewriteCond %{HTTP_REFERER} !google\. [NC]
RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]
RewriteCond %{HTTP_REFERER} !msn\. [NC]
RewriteCond %{HTTP_REFERER} !yahoo\. [NC]
RewriteCond %{REQUEST_URI} !^/protect\.jpg$
RewriteRule \.(gif|jpg|png)$ /protect.jpg [NC,L]

  • Создавать Человекопонятные URL (ЧПУ).

Это работает очень просто – путем замены одной части URL на другую. Например, вы хотите заменить domain.ru/index.php?id=3 на domain.ru/3. Тогда следует прописать следующее:

RewriteEngine on
RewriteRule  ^/([^/\.]+)/?$ index.php?id=$1 [L]

(13 голосов)

Если в статье вы не нашли ответ на свой вопрос или обнаружили ошибку, пожалуйста, сообщите нам в комментарии.
Ваш отзыв поможет нам улучшить Справочный Центр
Комментарий к статье появится после проверки модератором
 
 
Если вам нужна помощь, пожалуйста, напишите запрос из своей Панели управления panel.infobox.ru
Имя:
E-mail:
Комментарий:
© 2002—2017 ООО «Национальные телекоммуникации»