httpd.conf виртуальный хост не работает - PullRequest
2 голосов
/ 04 июня 2009

Я добавил это:

<VirtualHost *:8888>
    ServerName dietron
    DocumentRoot /Users/kieransenior/Development/reformsoft_dietron/trunk/var/www/dietron/htdocs

    <Directory /Users/kieransenior/Development/reformsoft_dietron/trunk/var/www/dietron/htdocs>
        AllowOverride All
        Options All
    </Directory>

    php_value include_path .:/Users/kieransenior/Development/reformsoft_dietron/trunk/var/www/dietron/include:/usr/local/lib/pear
    php_value magic_quotes_gpc off
    php_value register_globals off
</VirtualHost>

на мой httpd.conf в надежде, что мой файл .htaccess в папке htdocs будет подобран по следующим правилам:

RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1

Вот и все содержимое. Я переименовываю .htaccess на моем MBP, выполняя mv i.htaccess .htaccess, что, как я полагаю, правильно? Я использую MAMP, поэтому в httpd.conf есть множество настроек по умолчанию, и я добавил первый фрагмент выше в самом конце. Затем я перезапускаю его, останавливая Apache и снова запуская его. Index.php отлично работает, однако, когда я делаю http://localhost:8888/anythinghere, он получает 404, чего не должно быть.

Есть идеи, что я делаю не так?

РЕДАКТИРОВАТЬ : Вот мой httpd.conf

РЕДАКТИРОВАТЬ : вот ошибка в журнале Apache:

[Fri Jun 05 16:02:22 2009] [error] [client ::1] File does not exist: /Users/kieransenior/Development/reformsoft_dietron/trunk/var/www/dietron/htdocs/testing

Ответы [ 2 ]

4 голосов
/ 07 июня 2009

Пара предложений.

Сначала в строке 461 вашего httpd.conf:

AccessFileName afn.htaccess

Разве это не должно быть .htaccess?

Второе, что я вижу, это то, что установлено имя сервера:

ServerName dietron

но вы пытаетесь получить к нему доступ с помощью localhost

Я бы посоветовал вам поместить запись в ваш файл / etc / hosts, чтобы dietron разрешил, либо на ваш локальный IP-адрес, либо на ваш шлейф (127.0.0.1), а затем получить доступ к серверу с помощью http://dietron:8888

2 голосов
/ 05 июня 2009

Убедитесь, что ваша директива AllowOverride установлена ​​правильно на глобальном уровне. Если переопределение не разрешено (AllowOverride None) в вашем webroot, тогда ваш файл htaccess будет проигнорирован.

...