2013-11-08 4 views
0

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

directory1/directory2/thispagecausesa404error.php

directory1/thispagecausesa404error.php

Если я include includepage.php; в моей странице ErrorDocument, то он не будет работать.

Я решил добавить include_once $_SERVER['DOCUMENT_ROOT'].'/includepage.php'; на страницу errordocument, которая решает проблему, но я подозреваю, что я делаю что-то неправильно или не вижу надлежащего способа безошибочного включения на страницу с ошибкой.

Что я делаю неправильно?

+1

Вы не делаете ничего плохого. Вы не можете использовать относительные спецификации файлов внутри документов ошибок. Добавление '$ _SERVER ['DOCUMENT_ROOT']' именно то, что вам нужно сделать. –

ответ

0

Я бы порекомендовал вам никогда не полагаться на DOCUMENT_ROOT. Вместо этого используйте относительный путь от текущего сценария через __DIR__ magic constant, например

include __DIR__ . '/relative/path/from/this/script/to/includepage.php'; 

путь может также содержать родительский каталог обхода через ../, если требуется, например,

include __DIR__ . '/../../some/dir/includepage.php'; 

 Смежные вопросы

  • Нет связанных вопросов^_^