У меня странная проблема с перенаправлением на моем локальном сервере. У меня настроен VirtualHost:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "/Users/iMac/Sites/index.php"
ServerName jordan.local
ErrorLog "/private/var/log/apache2/jordan.local-error_log"
CustomLog "/private/var/log/apache2/jordan.local-access_log" common
<Directory "/Users/iMac/Sites/index.php">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Доступ http://jordan.local
работает отлично. Однако, когда я пытаюсь получить доступ к подкаталогу jordan.local/somefolder/index.php
, показанная страница jordan.local/index.php
. У меня нет файла .htaccess, и я много раз перезапускал apache.
Версия Apache: 2.2.22 (Unix)
Mac OS X 10.7.5
Вот мой хост-файл, если он поможет:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
#74.208.10.249 gs.apple.com
127.0.0.1 jordan.local
Все локальные URL-адреса, к которым я обращался (которые не существуют), отображались в моих пользовательских журналах доступа как код ответа 200.
Мои журналы ошибок Apache выдают это предупреждение:
Warning: DocumentRoot [/Users/iMac/Sites/index.php] does not exist
Хотя /Users/iMac/Sites/index.php
допустимый путь.
Пожалуйста, дайте мне знать, если вам понадобится дополнительная информация.
Пожалуйста измените DocumentRoot
указывать на каталог, а не на файл. Ссылка: http://httpd.apache.org/docs/2.2/mod/core.html#documentroot
DocumentRoot
Директива Описание: Каталог, который формирует основное дерево документов, видимое из Интернета.
Синтаксис:
DocumentRoot directory-path
По умолчанию:
DocumentRoot /usr/local/apache/htdocs
Контекст: конфигурация сервера, виртуальный хост
Положение дел: Core
Модуль: core
Эта директива устанавливает каталог, из которого
httpd
будет обслуживать файлы. Если не соответствует такой директиве, какAlias
, сервер добавляет путь от запрошенного URL-адреса к корню документа, чтобы сделать путь к документу.Пример:
DocumentRoot /usr/web
затем доступ к
http://www.my.host.com/index.html
относится к/usr/web/index.html
. Если путь к каталогу не является абсолютным, то предполагается, что он относится кServerRoot
.В
DocumentRoot
следует указывать без косой черты в конце.