在 ISS 7 上运行没有文件扩展名的 php 文件

在 ISS 7 上运行没有文件扩展名的 php 文件

我正在将 PHP 应用程序移至我的 IIS 7 Web 服务器。

应用程序中的许多文件都是 php 文件,但没有 php 扩展名(实际上它们没有文件扩展名)。这在旧的 Apache 托管上运行良好,但我无法让它在 IIS 7 上运行。

我一直在尝试修改处理程序映射,但我不知道如何将没有扩展名的文件映射到 PHP 处理程序。

我尝试过只使用 *,但正如我怀疑的那样,jpeg 等静态文件也是通过 PHP 运行的,而它不喜欢这样。

感谢您的帮助。

答案1

您可能必须为那些您不希望 PHP 可执行文件尝试解析的文件添加另一个处理程序。我不知道如何告诉 PHP 解释器不要根据扩展名解释某些文件。

答案2

执行此操作的标准方法是添加 *. 文件的 mime 类型和处理程序,但是正如您所指出的,这将导致所有尚未被处理程序覆盖的文件都由 PHP 处理,而这不是您想要的。

我想我能想到的唯一选择是要么这样做,然后为所有你不想让 PHP 处理的文件添加处理程序,要么为这些文件添加扩展名。如果有很多文件,你也许可以使用查找和替换实用程序来添加文件扩展名。

答案3

您需要确保 Apache 中使用了什么模块以及在 Unix 上的 PHP 中如何实现句柄映射,以便在 IIS 7 中成功移植它。

使用 FastCGI 在 IIS 7.0 上托管 PHP 应用程序。这应该有帮助。

PHP 处理程序映射
(来源:互联网)
。只需注意处理程序映射部分...PHP 就可以正常工作。

相关内容