2009-06-04 4 views
2

Я добавил это:httpd.conf виртуальный хост не работает

<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, чего не должно произойти.

Любые идеи о том, что я делаю неправильно?

EDIT: Here's my httpd.conf

EDIT: Вот ошибка в журнале 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 
+0

Вы проверили журналы apache? вы также можете установить RewriteLog и RewriteLogLevel, чтобы узнать, что происходит. но эти две директивы должны войти в вас vhost, а не в файл .htaccess. –

+1

Я дублировал эту конфигурацию на своей машине, и она работает нормально. Вы проверяли журнал ошибок для подсказок? –

+0

Какой и где журнал ошибок? – Kezzer

ответ

4

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

Во-первых, в строке 461 вашей httpd.conf:

AccessFileName afn.htaccess 

Если не то, что быть .htaccess?

Вторая вещь, которую я вижу в том, что имя сервера установлено:

ServerName dietron 

но вы пытаетесь получить к нему доступ с локального хоста

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

+0

Это то, что я получаю для просмотра httpd.conf весь день. Спасибо, сэр. – Kezzer

+0

Был там, сделал это - рад помочь. – chris

2

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

+0

я предоставил ссылку на мой фактической httpd.conf, расположенной в Applications/MAMP/CONF/Apache/ – Kezzer

+0

Ваше 'значение директивы NameVirtualHost' должно соответствовать виртуальной конфигурации хоста: NameVirtualHost *: 888 ... См., Если это решает всю проблему. –

+0

К сожалению, это тоже не сработало. Возможно, я должен установить Apache и MySQL локально, а не использовать MAMP? Таким образом, я больше контролирую его. – Kezzer

Смежные вопросы