Файлы не отображаются, потому что глядя на root, но я думаю, что я указываю root! - PullRequest
0 голосов
/ 23 июля 2011

Я работаю локально, и я всегда указываю файлы как /files.jpg или что-то еще, поэтому сервер всегда будет знать, что нужно искать файлы на корневом уровне. Таким образом, если я на подстранице, она не захлебнется. Но локально файлы не отображаются. Моя файловая структура - apache2 / htdocs / name_of_folder. name_of_folder - мой "корень". Затем я изменяю свой файл виртуального хоста, чтобы при вводе localhost / name_of_folder он показывал мой сайт. Я указываю DocumentRoot, так что я подумал, когда скажу localhost / name_of_folder, который работает в корне документа?

В httpd-vhosts.conf он установлен на

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/opt/local/apache2/name_of_folder"
    ServerName localhost/name_of_folder
    ServerAlias www.localhost/name_of_folder
    ErrorLog "logs/name_of_folder_log"
    CustomLog "logs/name_of_folder_access_log" common
</VirtualHost>

Что я делаю не так?

Ответы [ 3 ]

0 голосов
/ 23 июля 2011

Вы не можете делать это таким образом. Директива ServerName предназначена не для получения URL-адреса, а для доменного имени. Установите корневой каталог в родительскую папку, запретите доступ к нему с помощью <Directory> и разрешите доступ к вашему подкаталогу, чтобы он заработал.

0 голосов
/ 23 июля 2011

Вместо этого:

ServerName localhost/name_of_folder
ServerAlias www.localhost/name_of_folder

Создайте поддомен:

ServerName subdomain.localhost
0 голосов
/ 23 июля 2011

Вы неправильно используете директивы ServerName и ServerAlias ​​.Они не имеют ничего общего с файлами или путями.Это имя domain , которое идентифицирует веб-сайт (вместе с дополнительным портом, если не 80).Если вы хотите переместить корень документа, вам нужно отредактировать директиву DocumentRoot .

...