我有一个虚拟服务器(Windows 2008 R2),其中有一个 IIS 7.5 和一个 xxx.php 文件,这个 php 文件不包含任何 php 代码,我也不想安装任何 php 模块,我只希望服务器返回 php 文件的内容,就像它是一个普通的 .html 文件一样。
我在同一个目录中有一个名为 xxx.html 的具有相同内容的文件,并且可以正常工作,但我收到的不是 php 文件,而是 404 错误。
有任何想法吗?
更新
这是一个从 php 移植到 asp.net mvc 的系统。许多用户都收藏了此文件,这就是我想保留它(带扩展名)的原因。但我找到了一种不同的方法,即在 asp.net mvc 中使用路由。仍然很有趣的是,您无法将 IIS 配置为以与 html 文件相同的方式简单地返回 php 文件。
答案1
如果您没有在 IIS 中安装 PHP 解释器,那么 IIS 根本无法识别该文件,因此无法使用它。如果您希望 IIS 像处理纯文本文件一样处理 PHP 文件,则需要注册其 MIME 类型,这样 IIS 才知道如何处理它。
请使用此处提供的说明:http://technet.microsoft.com/en-us/library/cc725608(v=ws.10).aspx。
文件扩展名当然应该是.php
;MIME 类型应该是text/plain
。
请注意,这样做将不再允许您在此服务器上使用 PHP,因为配置此设置后,它将始终像处理纯文本文件一样处理 PHP 文件。如果您要实际使用 PHP,则应安装并注册 PHP 解释器。
答案2
只需将其重命名为 .htm 或 .html 文件?如果没有安装 PHP,您就无法正确提供 PHP 文件……如果文件本身没有 PHP 代码,为什么它是 .php 文件?您的问题很愚蠢,您要么安装并使用 PHP,要么不安装。
编辑
公平地说,这是你必须完成的那些烦人的事情之一,以适应遗留系统。另一种方法是安装 PHP,然后创建一个小型 php 重定向脚本,虽然不是一个完美的解决方案,但却是一个可行的解决方案。
答案3
答案4
要将 PHP 作为纯 HTML 提供,您只需将 .php 扩展名映射到 HTML MIME 类型。在 IIS 管理器中:MIME 类型>添加...在打开的对话框中输入以下内容(不带引号):文件扩展名:“php”,MIME 类型:“text/html”。
您可以在服务器、站点或应用程序级别执行此操作。