OS X 10.8 Mountain Lion Server apache MultiViews 麻烦

OS X 10.8 Mountain Lion Server apache MultiViews 麻烦

我的服务器出现问题,无法正确禁用 MultiViews。在 /Library/Server/Web/Config/apache2/sites/0000_any_80_wthr.proj.conf 上,我看到了我的主机的配置

<VirtualHost wthr.proj:80>
ServerName wthr.proj
ServerAdmin [email protected]
DocumentRoot "/Users/i/Sites/wthr.proj"
DirectoryIndex index.html index.php /wiki/ default.html
CustomLog /var/log/apache2/access_log combinedvhost
ErrorLog /var/log/apache2/error_log

<IfModule mod_ssl.c>
    SSLEngine Off
    SSLCipherSuite "ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM"
    SSLProtocol -ALL +SSLv3 +TLSv1
    SSLProxyEngine On
    SSLProxyProtocol -ALL +SSLv3 +TLSv1
</IfModule>

<Directory "/Users/i/Sites/wthr.proj">
    Options All -Indexes -ExecCGI -Includes +MultiViews
    AllowOverride All
    <IfModule mod_dav.c>
        DAV Off
    </IfModule>
    <IfDefine !WEBSERVICE_ON>
        Deny from all
        ErrorDocument 403 /customerror/websitesoff403.html
    </IfDefine>
</Directory>

像这样,我的问题是 MultiViews。我的 cms 使用 mod_rewrite,例如路径 /translate /search 不是文件夹。此 URI 请求处理 index.php 文件,所有请求处理都执行 index.php 文件。并且 cms 具有例如名为 search.inc.php、translate.inc.php 的模块。

当我在浏览器中输入/translate 时,出现 404 错误。查看日志:

[2012 年 12 月 5 日,星期三 13:41:04] [错误] [客户端 127.0.0.1] 协商:发现与请求匹配的文件:/Users/i/Sites/wthr.proj/translate(无法协商)。
[2012 年 12 月 5 日,星期三 13:41:05] [错误] [客户端 127.0.0.1] 协商:发现与请求匹配的文件:/Users/i/Sites/wthr.proj/translate(无法协商)。
[2012 年 12 月 5 日,星期三 13:41:15] [错误] [客户端 127.0.0.1] 协商:发现与请求匹配的文件:/Users/i/Sites/wthr.proj/translate(无法协商)。
[2012 年 12 月 5 日,星期三 13:42:55] [错误] [客户端 127.0.0.1] 协商:发现与请求匹配的文件:/Users/i/Sites/wthr.proj/translate(无法协商)。
[2012 年 12 月 5 日,星期三 13:42:56] [错误] [客户端 127.0.0.1] 协商:发现与请求匹配的文件:/Users/i/Sites/wthr.proj/translate(无法协商)。

当我删除translate.inc.php(cms的一部分)时,一切正常,我将URI缓存在我的index.php中。当我设置-MultiViews或从0000_any_80_wthr.proj.conf中的选项字符串中删除MultiViews单词时。

一切正常。但请查看日志。

    位于 /Users/i/Sites/wthr.proj/translate.inc.php 第 19 行
[2012 年 12 月 5 日星期三 13:45:01] [错误] [客户端 127.0.0.1] PHP 解析错误:/Users/i/Sites/wthr.proj/translate.inc.php 第 19 行解析错误
[2012 年 12 月 5 日星期三 13:45:02] [错误] [客户端 127.0.0.1] PHP 解析错误:/Users/i/Sites/wthr.proj/translate.inc.php 第 19 行解析错误
[2012 年 12 月 05 日星期三 13:45:12] [通知] 子进程 pid 11462 退出信号分段错误 (11)
[2012 年 12 月 05 日星期三 13:45:13] [通知] 子进程 pid 11466 退出信号分段错误 (11)
[2012 年 12 月 05 日星期三 13:45:14] [通知] 子进程 pid 11468 退出信号分段错误 (11)
[2012 年 12 月 5 日星期三 13:45:14] [通知] 子进程 pid 11467 退出信号分段错误 (11)
[2012 年 12 月 5 日星期三 13:45:15] [通知] 子进程 pid 11471 退出信号分段错误 (11)
[2012 年 12 月 5 日星期三 13:45:15] [通知] 子进程 pid 11469 退出信号分段错误 (11)

大约 50% 的请求失败(子进程 pid 11468 退出信号分段错误)。

我如何正确禁用 MultiViews?

答案1

您的Options

+MultiViews

要禁用它,您需要将其更改为:

-MultiViews

答案2

不,亲爱的 Michael,这没用,因为我也尝试过设置 -MultiViews。结果

[Wed Dec 05 13:45:12 2012] [notice] child pid 11462 exit signal Segmentation fault (11)
[Wed Dec 05 13:45:13 2012] [notice] child pid 11466 exit signal Segmentation fault (11)
[Wed Dec 05 13:45:14 2012] [notice] child pid 11468 exit signal Segmentation fault (11)
[Wed Dec 05 13:45:14 2012] [notice] child pid 11467 exit signal Segmentation fault (11)
[Wed Dec 05 13:45:15 2012] [notice] child pid 11471 exit signal Segmentation fault (11)
[Wed Dec 05 13:45:15 2012] [notice] child pid 11469 exit signal Segmentation fault (11)

相关内容