httpd.conf虚拟主机无法正常工作

时间:2009-06-04 19:44:57

标签: php apache macos mamp

我添加了这个:

<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文件夹中的.htaccess文件可以使用以下规则获取:

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

这是全部内容。我正在我的MBP上重命名.htaccess做mv i.htaccess .htaccess,我假设是正确的?我正在使用MAMP,因此httpd.conf有一些默认设置,我在它的最后添加了上面的第一个片段。然后我通过停止Apache并再次启动它来重新启动它。 index.php很好,但是当我http://localhost:8888/anythinghere时,它会出现404,这不应该发生。

关于我做错的任何想法?

编辑Here's my 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 个答案:

答案 0 :(得分:4)

一些建议。

首先,在httpd.conf的第461行:

AccessFileName afn.htaccess

不应该是.htaccess吗?

我看到的第二件事是服务器名称已设置:

ServerName dietron

但您尝试使用localhost

访问它

我建议您在/ etc / hosts文件中放入一个条目,以便dietron解析为您的本地IP地址或环回(127.0.0.1),然后使用http://dietron:8888访问服务器

答案 1 :(得分:2)

确保在全局级别正确设置AllowOverride指令。如果您的webroot不允许覆盖(AllowOverride None),那么您的htaccess文件将被忽略。