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

Форум Apache

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

 

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

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

тема: Снова редирект на .htaccess
 
 автор: boris   (06.06.2005 в 10:32)   письмо автору
 
 

Добрый день.

У меня следующая проблема: необходимо, чтобы при обращении к страницам сайта, которых уже нет, но они еще проидексированы в поисковиках, пользователь перенаправлся на страницы, пришедшие им на замену. Например: с main.htm на main.php (имена не обязательно могут совпадать).

Прочитал статью Голышева С.В. на вашем сайте по .htaccess, все ясно и просто, но у меня не работает ни на локальном хосте, ни на натуральном.
Браузер выводит стандартную 404-ю страницу и все.

Может что я делаю неправильно, а делаю я так:
Листинг .htaccess на локальном хосте:

Redirect  /index.htm  http://localhost/index.php

Не работает даже этот код, как мне кажется, не зависящий от путей и директорий:

ErrorDocument 404 /404.php

По поводу путей: функция phpinfo();, запущенная на сервере показала значение doc_root равное no value. Чтобы это значило?
Флаг AllowOverride All httpd.conf я выставил.

Зарание спасибо, Борис.

   
 
 автор: glsv (Дизайнер)   (06.06.2005 в 11:44)   письмо автору
 
   для: boris   (06.06.2005 в 10:32)
 

Да, странно. Хоть какие то директивы из htaccess работают?

Давайте отлаживать начиная с этой директивы

ErrorDocument 404 /404.php

404.php должен находиться в корневой директории сайта. Он есть?

>doc_root равное no value. Чтобы это значило?
Ее значение нужно прописывать в php.ini Если оно пустое, то значит там ничего не прописано.

Можно посмотреть по логам что происходит.
У вас прописаны логи в виртуалном хосте?

<VirtualHost 127.0.0.1>
    ServerAdmin webmaster@host.some_domain.com
    DocumentRoot c:/www/ozon
    ServerName ozon
    ServerAlias ozon
    ErrorLog logs/ozon-error.log
    CustomLog logs/ozon-access.log common
</VirtualHost>

Директивы ErrorLog и CustomLog. Если таких директив нет, то добавьте их и пуерезапустите Apache.
Для 404 ошибки больше интересует ErrorLog.
Обратитесь к несущестующей странице и посмотрите, что пишется в логи.

Если ничего не помогает, то прикрепите в форум Ваш httpd.conf и скажите какая у вас версия Apache.

   
 
 автор: Boris   (06.06.2005 в 12:10)   письмо автору
36.4 Кб
 
   для: glsv (Дизайнер)   (06.06.2005 в 11:44)
 

Да, файл 404.php находится в корне, по крайней мере его путь совпадает с путем, в doc_root файла httpd.conf, а именно:
C:/Program Files/Apache Group/Apache/htdocs/fenix/site25_05_05
Я пока решил на сервер не лезть, а разобраться с локальным хостом.

В папке
C:/Program Files/Apache Group/Apache/logs/
есть файлы:
access.log, error.log и httpd.pid
Последняя строка файла error.log выглядит так:

[Mon Jun 06 15:00:05 2005] [error] [client 127.0.0.1] File does not exist: c:/program files/apache group/apache/htdocs/fenix/site25_05_05/er.html

где er.html, несуществующий файл.

Подскажите куда прописать этот текст:

<VirtualHost 127.0.0.1> 
    ServerAdmin webmaster@host.some_domain.com 
    DocumentRoot c:/www/ozon 
    ServerName ozon 
    ServerAlias ozon 
    ErrorLog logs/ozon-error.log 
    CustomLog logs/ozon-access.log common 
</VirtualHost> 


Прикрепляю совй httpd.conf, а версия Apache у меня: 1.3.27

   
 
 автор: Boris   (06.06.2005 в 12:32)   письмо автору
 
   для: Boris   (06.06.2005 в 12:10)
 

ЗАРАБОТАЛО!!!
надо было писать в .htaccess:
ErrorDocument 404 http://localhost/404.php
а не:
ErrorDocument 404 /404.php
аналогично на сервере:
ErrorDocument 404 http://lwww.fenix88.nsk.su/404.php

Теперь буду ковырять Redirect.

   
 
 автор: glsv (Дизайнер)   (06.06.2005 в 13:41)   письмо автору
 
   для: Boris   (06.06.2005 в 12:32)
 

:( Поставила меня в тупик эта проблемка.
Да, с http:// работает. Но почему то не работает при указании относительного пути.
Причем весьма избирательно. Срабатывает, но крайне редко.

И самое главное - глюк наблюдается только в IE.
C Оперой и Мозиллой все ОК. Видимо какие-то мелкие баги (а может особенности работы :) Apache версии 1.3 для Windows и IE наложились друг на друга. И в результате имеем нестабильную работу.

   
Rambler's Top100
вверх

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