Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: перессылка на другой адрес
 
 автор: Shokan   (09.09.2008 в 13:25)   письмо автору
 
 

Стоит такая задача:
Если адрес не доступен то перессылается на другую страничку?
Как это делается с помощю Apache?

  Ответить  
 
 автор: xx77   (10.09.2008 в 12:32)   письмо автору
 
   для: 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:43)   письмо автору
 
   для: xx77   (10.09.2008 в 12:32)
 

или
 ErrorDocument 404 ...................какой-то путь.........

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования