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

Локальный сервер - Apache перенаправляет все запросы на /index.php

У меня странная проблема с перенаправлением на моем локальном сервере. У меня настроен 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 следует указывать без косой черты в конце.