|
|
|
| Добрый день.
У меня следующая проблема: необходимо, чтобы при обращении к страницам сайта, которых уже нет, но они еще проидексированы в поисковиках, пользователь перенаправлся на страницы, пришедшие им на замену. Например: с 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 я выставил.
Зарание спасибо, Борис. | |
|
|
|
|
|
|
|
для: 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. | |
|
|
|
|
 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:10)
| | ЗАРАБОТАЛО!!!
надо было писать в .htaccess:
ErrorDocument 404 http://localhost/404.php
а не:
ErrorDocument 404 /404.php
аналогично на сервере:
ErrorDocument 404 http://lwww.fenix88.nsk.su/404.php
Теперь буду ковырять Redirect. | |
|
|
|
|
|
|
|
для: Boris
(06.06.2005 в 12:32)
| | :( Поставила меня в тупик эта проблемка.
Да, с http:// работает. Но почему то не работает при указании относительного пути.
Причем весьма избирательно. Срабатывает, но крайне редко.
И самое главное - глюк наблюдается только в IE.
C Оперой и Мозиллой все ОК. Видимо какие-то мелкие баги (а может особенности работы :) Apache версии 1.3 для Windows и IE наложились друг на друга. И в результате имеем нестабильную работу. | |
|
|
|