Возможно ли на стороне сервера включить что-то выше webroot? - PullRequest
1 голос
/ 17 декабря 2010

A, ответьте на мой (флоп) вопрос (!), Здесь .Как сказано в посте, там и , надеюсь, немного уточнено в комментариях;У меня проблемы с получением virtual SSI #include для просмотра над корневым каталогом моего сайта.Абсолютные пути просто выглядят из корневого каталога, и с относительными путями, начинающимися ../, я получаю Invalid URI in request в журналах.Поэтому я думаю, что это невозможно, но отчасти думаю, что, возможно, в настройках моего сервера что-то не хватает.Если бы я хотел перейти на другой способ включения (PHP?), Я бы предпочел нет, но я должен заставить это работать.Я уверен, что там должна быть какая-то информация об этом, но за все мои поиски я не нашел ничего полезного.Может быть, мои навыки работы с Google не до нуля.

О, и сервер Apache 2.

Спасибо.

1 Ответ

0 голосов
/ 07 января 2011

Директива SSI virtual работает на основе URL, а не на файлах, как вы можете увидеть в Apache Tutorial: Введение в серверную часть Включает в себя (выделено моё):

Атрибут virtual, вероятно, более полезен и должен указывать URL-адрес относительно относительно обслуживаемого документа.Он может начинаться с /, но должен находиться на том же сервере, что и обслуживаемый файл

Если вы углубитесь в SSI, включите элемент справочной документации, вы обнаружите, что в ней четко указано:

виртуальный
Значением является (% -кодированный) URL-путь.URL не может содержать схему или имя хоста, только путь и необязательную строку запроса.Если он не начинается с косой черты (/), то он считается относительным к текущему документу.

Команда file не может содержать ../, так что если вы подумали, чтоальтернативный путь, не.

file
Значение - это путь относительно каталога, содержащего текущий анализируемый документ.Он не может содержать ../ и не может быть абсолютным путем.Следовательно, вы не можете включать файлы, которые находятся за пределами корня документа или выше текущего документа в структуре каталогов.Виртуальный атрибут всегда должен использоваться вместо этого.

Надеюсь, это поможет.

...