|
|
|
| Стоит такая задача:
Если адрес не доступен то перессылается на другую страничку?
Как это делается с помощю Apache? | |
|
|
|
|
|
|
|
для: Shokan
(09.09.2008 в 13:25)
| | можно попробовать проверять является-ли запрашиваемый адрес файлом или папкой
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ http://othersite.ru/redirs/?link=$1 [R,L]
|
так ,если имеется ввиду редиректить пользователя
или убрать [R]
но что-то может по разному работать на разных серверах
у меня многое из нижеследующего работает не так как ожидалось
RewriteCond.
Переменные записываются в виде %{ИМЯ_ПЕРЕМЕННОЙ}. Наиболее часто используются следующие переменные: QUERY_STRING (параметры запроса), REMOTE_ADDR (IP-адрес* посетителя), REMOTE_HOST (имя хоста посетителя), REMOTE_USER (имя пользователя, если он прошел авторизацию), REMOTE_METHOD (обычно GET или POST), PATH_INFO (путь к файлу веб-страницы), HTTP_USER_AGENT (содержимое http-заголовка User-Agent), HTTP_REFERER (содержимое http-заголовка Referer), HTTP_COOKIE (содержимое http-заголовка Cookie), HTTP_HOST (имя хоста веб-сайта), TIME_YEAR (все переменные TIME_* хранят разбитые на части текущие дату и время), TIME_MON, TIME_DAY, TIME_HOUR, TIME_MIN, TIME_SEC, TIME_WDAY, REQUEST_URI (строка запроса без имени хоста и параметров запроса), REQUEST_FILENAME (имя файла из REQUEST_URI), THE_REQUEST (полная строка запроса в том виде, в котором ее присылает браузер посетителя). Помимо стандартных переменных можно проверять содержимое любого http-заголовка: %{HTTP:Название-Заголовка}.
Условие – это обычное регулярное выражение. Кроме регулярных выражений существует еще несколько видов условий (условию может предшествовать символ !, который трактуется как отрицание):
=ABC – значение переменной должно быть лексически равно строке ABC
>ABC – значение переменной должно быть лексически больше строки ABC
-d – должен существовать каталог, имя которого совпадает со значением переменной
-f – должен существовать файл, имя которого совпадает со значением переменной
-s – должен существовать файл ненулевой длины, имя которого совпадает со значением переменной
-l – должен существовать симлинк, имя которого совпадает со значением переменной
-F – должен существовать файл, имя которого совпадает со значением переменной, и этот файл должен быть доступен по внешней ссылке на данный веб-сайт
-U – должна быть доступна http-ссылка, имя которой совпадает со значением переменной
Флагов может быть всего два: OR (объединение директив RewriteCond по ИЛИ, как было написано выше) и NC (отключение проверки регистра аналогично одноименному флагу для директивы RewriteRule). | |
|
|
|
|
|
|
|
для: xx77
(10.09.2008 в 12:32)
| | или
ErrorDocument 404 ...................какой-то путь.........
|
| |
|
|
|