www.romver.ru
/ Раздел Статьи / другие тонкости настройки в файле htaccess

Как заказать сайт



  Файл .htaccess служит для управления некоторыми функциями сервера Apache. Все изменения в нём производятся с помощью внесения определённых записей в любом текстовом редакторе (блокнот, Dreamweaver и пр. Не путать с текстПроцессорами, типа MSWord).
Внимательно! В проводнике Windows будет невозможно создать файл с таким именем (т.е. без имени, только с расширением). Его необходимо будет создать в альтернативной программе (например Far Manager) или скопировать готовым откуда угодно и отредактировать.
Файл помещается непосредственно в корневую директорию сайта на сервере. Его правила распространяются на данную директорию и все поддиректории, находящиеся в ней.


1. Правила переадресации страниц. Redirect.
Выполняется для указания клиенту (браузеру, поисковому роботу), что данная страница навсегда (если redirect 301) или временно (если redirect 302) переехала по другому адресу.
Записывается:

Redirect 301 /filename.html http://domain.tld/newfilename.php

где /filename.html - старое название страницы (записывается без указания протокола и домена, от корня сайта.) http://domain.tld/newfilename.php - новое имя той же страницы. (записывается с указанием протокола и домена. Домен может быть как тот же, так и любой другой).
Запись вида:
Redirect 301 / http://domain.tld/
Будет означать, что все страницы сайта с верхнего уровня перенесены на новый сайт domain.tld (на главную страницу!)

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

RedirectMatch permanent ^(.*)$ http://domain.tld$1

где ^(.*)$ - страница, которую нужно перенести с данного домена. (^ - начало "сравниваемой" строки, (.*) - любое количество любых символов, $ - конец сравниваемой строки), http://domain.tld - домен на который был перемещён сайт, $1 - выражение в скобках.


2. Правила подмены строк. RewriteRule.
Используется для замены для сервера адресной строки на необходимую ему (например, передача GET-параметров в адресе страницы)
Записывается:

RewriteEngine on
RewriteRule ^(.+)/$ index.php?file=$1
RewriteRule ^(.+)/(.+).html$ index.php?file=$1&page=$2

Где RewriteEngine on - включение модуля Rewrite, ^(.+)/$ - исходная строка, адрес в браузере (^ - начало строки, (.+) - два или более любых символа - можно написать и (.*), / - экранированный символ "/"), index.php - файл-скрипт, который должен быть запущен, ?file=$1 - параметр, который должен быть передан ($1 - выражение в первых скобках).
Чтобы было понятнее - поясню "на пальцах".
Строка RewriteRule ^(.+)/(.+).html$ index.php?file=$1&page=$2 означает:
Адрес вида
http://domain.tld/filename/pagename.html
сервер воспримет как
http://domain.tld/index.php?file=filename&page=pagename

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

RewriteEngine on
RewriteRule ^(.+)/$ index.php?file=$1 [R=301, L]

будет совершать подмену не только для сервера, но уже и для клиента. Т.е. - это аналог директивы Redirect 301. "L" - будет означать, что это правило выполняется последним в файле .htaccess


3. Обработка ошибки 404.
Позволяет выдавать одну определённую страницу вместо отсутствующих и вместо ошибки 404.
Записывается:

ErrorDocument 404 /404.php

где 404.php - страница, которая загружается вместо отсутствующей.

Создание сайтов и бесплатный анализ под запросы основных поисковых машин
Контактная информация :
тел. +7(981) 760-8865

e-mail: w e b m a s t e r @ r o m v e r . r u
icq 3681771  © 1997 - 2024 romver.ru