Назад | Перейти на главную страницу

Почему php не запускается из каталога с псевдонимом?

Я пытаюсь использовать nclud Windex стилизовать мои списки каталогов apache для внутреннего проекта (безопасность не слишком важна)

Windex использует директивы HeaderName и ReadmeName, указывающие на файлы php, и все это работает, пока файлы php windex находятся в каталоге, из которого обслуживается VirtualHost.

Однако я хочу выполнить стандартную установку в / usr / share / windex по двум причинам. Во-первых, я не хочу, чтобы папка Windex появлялась в списках. Во-вторых, я хочу использовать его более чем на одном виртуальном хосте, а затем изменить его для всех.

Таким образом, файл .htaccess остается в моем каталоге / srv / www. В моем httpd.conf для виртуального хоста я указываю псевдоним:

Alias /windex/ "/usr/share/windex"
<Directory "/windex">
    Options Indexes,FollowSymlinks
    AllowOveride All
    Order Allow,Deny
    Allow from all
</Directory>
<Directory "/usr/share/windex">
    Options Indexes,FollowSymlinks
    AllowOveride All
    Order Allow,Deny
    Allow from all
</Directory>

Теперь это работает для файлов изображений и css в / windex / icons / * и / windex / css / *, все стили применяются правильно. Однако файлы php не обрабатываются. Однако если я перейду к файлу /windex/header.php, он будет правильно обработан PHP.

Спасибо, Джеймс

Привет, я нашел ответ. Я увеличил регистрацию ошибок в apache и обнаружил следующее:

Fri Jul 30 14:35:31 2010] [error] [client 160.50.3.128] PHP Warning:  require_once(/srv/www/8081/windex/markdown.php): failed to open stream: No such file or directory in /usr/share/windex/config.php on line 84
[Fri Jul 30 14:35:31 2010] [error] [client 160.50.3.128] PHP Fatal error:  require_once(): Failed opening required '/srv/www/8081/windex/markdown.php' (include_path='.:/usr/share/php:/usr/share/pear') in /usr/share/windex/config.php on line 84

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

require_once( $_SERVER["DOCUMENT_ROOT"]. $windexPath . '/textile.php');

И аналогичная строка ниже для markdown.php - это заставляло PHP искать по пути '/srv/www/8081/windex/markdown.php', а не только в каталоге, где был config.php - я изменил строку кому:

require_once( 'textile.php');

А теперь все ок. Спасибо за попытку помочь.

Из Замечания по установке:

Если вы не хотите, чтобы папка windex находилась в верхней части вашего сайта, вам необходимо изменить пути к файлам в config.php, все файлы CSS и любой файл .htaccess, полученный из main.htaccess.