首先:如果单独操作,PHPvirtual()
和 Apache 都可以正常工作。但是当引用需要协商的文件(例如 Multi-Lang)mod_negotiation
时,我遇到了麻烦。使用简化的示例可以最轻松地解释:virtual()
我/texts/
放置了两个文件:(example.html
内容:)<P>This is English</P>
和example.html.de
(<P>Dies ist Deutsch</P>
)。现在让我们来看一个 PHP 脚本示例:
<HTML><HEAD><TITLE>Example</TITLE></HEAD><BODY>
<? virtual("/texts/example.html"); ?>
</BODY></HTML>
这工作正常,并且输出符合预期:
<HTML><HEAD><TITLE>Example</TITLE></HEAD><BODY>
<P>This is English</P>
</BODY></HTML>
但现在我将virtual()
调用改为virtual("/texts/example");
,并将我的首选语言设置为德语。虽然协商选择了正确的目标,但输出却一团糟:
<P>Dies ist Deutsch</P>
<HTML><HEAD><TITLE>Example</TITLE></HEAD><BODY>
</BODY></HTML>
再次强调:上述代码中唯一改变的是调用的参数virtual()
。这些文件在我的其他机器上运行了大约 10 年,但都运行良好——只是在我的新机器上,出现了这种疯狂的情况:
PHP 版本:5.3.10(在工作机器上:5.2.4)
Apache2 版本:2.2.22(在工作机器上:2.2.8)
知道这里可能出现什么问题吗?