OSX 10.10 Yosemite apache升级到2.4,服务器端包含不再有效

时间:2014-10-21 19:57:34

标签: macos apache osx-yosemite server-side-includes

我最近将Mac升级到OSX 10.10优胜美地,它重置了我为Apache设置的一系列设置,包括我的虚拟主机设置。我已经恢复了所有这些,但我仍然无法让服务器端包括工作,他们在Mavericks和之前的Apache安装下工作得很好。

以下是我的.SHTML文件中包含声明的示例:

`<!--#include virtual="/includes/branded-header.html" -->`

这里是httpd-vhosts.conf条目

`
<VirtualHost *:80>
    ServerName v12b.local
    ServerAlias www.v12b.local
    DocumentRoot "/Users/my-name/Sites/v12b"
    ErrorLog "/private/var/log/apache2/v12b.local-error_log"
    CustomLog "/private/var/log/apache2/v12b.local-access_log" common
    ServerAdmin my-name@myco.com
<Directory "/Users/my-name/Sites/v12b">
    Options Indexes FollowSymLinks Includes
    AllowOverride All
    Order allow,deny
    Allow from all
    Require all granted
    AddType text/html .shtml .html
    AddOutputFilter INCLUDES .shtml .html
    AddType application/x-httpd-php .html
</Directory>    
</VirtualHost>`

我已经检查了Apache文档和其他指南,因此我的username.conf和httpd.conf文件看起来是有序的。任何帮助将不胜感激。

谢谢!

2 个答案:

答案 0 :(得分:8)

我能在Apache论坛上找到答案,所以我想我会在这里分享。

LoadModule include_module libexec/apache2/mod_include.so

我错过了在httpd.conf文件中删除此行的评论。 一旦我删除了评论并重新启动了Apache,一切都重新开始了。

看起来2.4是2.2的一个非常大的升级,有很多变化。希望其他人可能会觉得这很有帮助。

答案 1 :(得分:0)

此升级指南提供了在SSILegacyExprParser文件中运行的.htaccess选项:https://httpd.apache.org/docs/2.4/upgrading.html#config

<IfModule mod_include.c>
SSILegacyExprParser on
</IfModule>