Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: LAMP и редирект при 404-ой  (Прочитано 980 раз)

0 Пользователей и 1 Гость просматривают эту тему.

LouLi

  • Автор темы
  • Гость
LAMP и редирект при 404-ой
« : 05 Ноября 2012, 19:16:25 »
Здравствуйте. Использую дистрибутив Ubuntu 12.10 (64-bit) с установленным LAMP. Никак не могу понять, как в Apache можно сделать редирект при 404-ой ошибке, если ссылка ведет на сторонний ресурс.

К примеру:

На сайте дана ссылка на сторонний ресурс, который в данный момент недоступен.

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

Пытался реализовать это посредством .htaccess:

ErrorDocument 404 /error.html
Но данное правило работает только если ссылка ведет на несуществующую страницу моего сайта.

Если же ссылка ведет на сторонний ресурс, то выдается стандартная ошибка 404.

Прошу сообщество помочь мне решить данную проблему. Штудировал Google, но ничего путного не нашел  :(

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: LAMP и редирект при 404-ой
« Ответ #1 : 05 Ноября 2012, 19:29:42 »
Цитировать
ErrorDocument 404 /error.html
/var/www/error.html
Wars ~.o

LouLi

  • Автор темы
  • Гость
Re: LAMP и редирект при 404-ой
« Ответ #2 : 05 Ноября 2012, 19:55:23 »
Цитировать
ErrorDocument 404 /error.html
/var/www/error.html

denis@Station:/var/www/information/www$ ls -la
итого 68
drwxr-xr-x 2 root root  4096 нояб.  5 19:45 .
drwxr-xr-x 3 root root  4096 окт.  31 21:07 ..
-rw-r--r-- 1 root root 45942 окт.  31 21:27 baby_tux.png
-rw-r--r-- 1 root root  1441 нояб.  5 19:45 error.html
-rw-r--r-- 1 root root    30 нояб.  5 19:45 .htaccess
-rw-r--r-- 1 root root  2699 нояб.  5 19:40 index.html

ErrorDocument 404 /error.html
При таком раскладе на страницу перебрасывает, если это не удаленный ресурс.

Если же

denis@Station:/var/www$ ls -la
итого 20
drwxr-xr-x  3 root root 4096 нояб.  5 19:42 .
drwxr-xr-x 15 root root 4096 нояб.  4 00:19 ..
-rw-r--r--  1 root root 1441 окт.  31 21:43 error.html
-rw-r--r--  1 root root  177 окт.  31 20:57 index.html
drwxr-xr-x  3 root root 4096 окт.  31 21:07 information

denis@Station:/var/www/information/www$ ls -la | grep .htac
-rw-r--r-- 1 root root    30 нояб.  5 19:45 .htaccess

ErrorDocument 404 /var/www/error.html
Перенаправление ни в каком из случаев не срабатывает.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: LAMP и редирект при 404-ой
« Ответ #3 : 05 Ноября 2012, 19:59:57 »
sudo a2enmod rewrite
sudo service apache2 restart

Пользователь решил продолжить мысль 05 Ноября 2012, 20:02:39:
Цитировать
ErrorDocument 404 /var/www/error.html
« Последнее редактирование: 05 Ноября 2012, 20:02:39 от victor00000 »
Wars ~.o

Оффлайн JohnDoe

  • Активист
  • *
  • Сообщений: 562
    • Просмотр профиля
Re: LAMP и редирект при 404-ой
« Ответ #4 : 05 Ноября 2012, 20:09:43 »
а раз ссылка ведет на сторонний ресурс, каким боком тут твой сайт?
В данном случае либо удаленный сайт обрабатывает ошибку 404, либо браузер/прокси выдает страницу о недоступности ресурса.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: LAMP и редирект при 404-ой
« Ответ #5 : 05 Ноября 2012, 20:16:07 »
sudo chown www-data:www-data -R /var/www/?
Wars ~.o

LouLi

  • Автор темы
  • Гость
Re: LAMP и редирект при 404-ой
« Ответ #6 : 05 Ноября 2012, 20:17:22 »
sudo a2enmod rewrite
sudo service apache2 restart

Пользователь решил продолжить мысль 05 Ноября 2012, 20:02:39:
Цитировать
ErrorDocument 404 /var/www/error.html

rewrite включил.

Не работает на сторонний.

.htaccess оставлял ErrorDocument 404 /error.html
Пользователь решил продолжить мысль 05 Ноября 2012, 20:18:44:
а раз ссылка ведет на сторонний ресурс, каким боком тут твой сайт?
В данном случае либо удаленный сайт обрабатывает ошибку 404, либо браузер/прокси выдает страницу о недоступности ресурса.

Мне необходимо сделать это у себя. Сторонний сервер тоже мой, и он не всегда доступен (сам сервер). Поэтому делать обработку ошибки там смысла не имеет.

Пользователь решил продолжить мысль 05 Ноября 2012, 20:21:15:
sudo chown www-data:www-data -R /var/www/?

И что это изменит? Хотя и файлы принадлежат root, права на чтение есть у всех, поэтому Apache может читать информацию.

Но я все же поменял владельца и группу, как вы написали.

Повторно

sudo chown www-data:www-data -R /var/www/ -v
владелец «/var/www/error.html» оставлен как www-data:www-data
владелец «/var/www/index.html» оставлен как www-data:www-data
владелец «/var/www/information/www/error.html» оставлен как www-data:www-data
владелец «/var/www/information/www/.htaccess» оставлен как www-data:www-data
владелец «/var/www/information/www/index.html» оставлен как www-data:www-data
владелец «/var/www/information/www/baby_tux.png» оставлен как www-data:www-data
владелец «/var/www/information/www» оставлен как www-data:www-data
владелец «/var/www/information» оставлен как www-data:www-data
владелец «/var/www/» оставлен как www-data:www-data

И ничего не изменилось. :(
« Последнее редактирование: 05 Ноября 2012, 20:21:59 от LouLi »

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: LAMP и редирект при 404-ой
« Ответ #7 : 05 Ноября 2012, 20:22:53 »
wget 127.0.0.1/index.html -O /dev/null?
Wars ~.o

LouLi

  • Автор темы
  • Гость
Re: LAMP и редирект при 404-ой
« Ответ #8 : 05 Ноября 2012, 20:24:54 »
wget 127.0.0.1/index.html -O /dev/null?

denis@Station:~$ wget 127.0.0.1/index.html -O /dev/null
--2012-11-05 20:23:32--  http://127.0.0.1/index.html
Подключение к 127.0.0.1:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа... 200 OK
Длина: 2704 (2,6K) [text/html]
Сохранение в каталог: ««/dev/null»».

100%[===================================================================================================================>] 2 704       --.-K/s   за 0s     

2012-11-05 20:23:32 (88,8 MB/s) - «/dev/null» сохранен [2704/2704]

Скачался в некуда, как и просили.

 

Страница сгенерирована за 0.02 секунд. Запросов: 22.