【问题标题】:Apache not handling files correctly (Handler Help)Apache 未正确处理文件(处理程序帮助)
【发布时间】:2011-03-03 17:27:58
【问题描述】:

我正在尝试正确设置我的 .htaccess 文件,但遇到了问题。

目前我的 .htaccess 文件中唯一的内容是:

AddType application/x-httpd-php .php .html .htm

这是因为我的服务器没有在我的 html 文件中解析 php。

但是,当它包含在我的 .htaccess 文件中时,当我在浏览器中打开页面时,系统会提示用户在本地保存或打开文件。

我相信我的问题的答案是设置一个要完成的操作(使用 php 运行)但是我找不到我的 php 文件的路径。

感谢任何帮助。

【问题讨论】:

    标签: php apache


    【解决方案1】:

    您需要编辑已启用模块的配置。在 Debian/Ubuntu 类型系统上,这将位于 /etc/apache2/mods-enabled 您要查找的文件是 php5.conf

    到目前为止,您所做的只是指定(点)htm、html 或 php 文件应默认提供为 application/x-httpd-php,据我所知,没有一个 Web 浏览器可以尝试解释这些内容——因此是另存为对话框。

    您可以修复 .htaccess 文件不被破坏(将 html 文件作为 application/x-httpd-php 提供服务是破坏行为),或者您可以使用 PHP header() 函数手动输出正确的 HTTP 标头.

    【讨论】:

      【解决方案2】:

      不幸的是,每个人似乎都喜欢滥用 AddType(然后抱怨 MultiViews 坏了)。请参阅this article

      【讨论】:

      • 我笑了。这位gay说大家应该怎么配置自己的服务器,甚至假装php.net是错的,但首先他解释了如何在windows下配置服务器-->失败。
      • @Aif 你是个白痴。他在 Windows 下解释它,因为 Windows 发行版中给出了错误的说明(参见 svn.php.net/viewvc/php/php-src/trunk/win32/… 中的“win32”)。公平地说,该文档现在还包含正确的配置,但是仍然给出了错误的配置。为什么解释如何在 Windows 下配置服务器会引起愚蠢的 Internet 模因?
      • 有些讽刺。对此感到抱歉,让我们说糟糕的一天。这篇文档中其实有一些有趣的东西。
      【解决方案3】:

      这不应该在所有情况下都有效。这取决于网络服务器的AllowOverride 指令。

      您应该在服务器配置文件中而不是在 htaccess 中指定 AddType。

      【讨论】:

      • 他的AddType 正在工作,否则客户端不会收到application/x-httpd-php 的内容类型(它无法处理,因此会显示下载框)。但无论如何,他不应该使用AddType
      • 您在哪里读到客户端收到的内容类型为 application/x-httpd-php?
      • when this is included in my .htaccess file, when I open a page in my browser, the user is prompted to save or open the file locally.——这是最可能的解释;另一种方法是 PHP 正在处理请求,但显式发送另一种内容类型。
      • 我已经添加了这个问题,但是服务器提示我保存文件,比实际来源。 (所以 addtype 在我的情况下不起作用)。
      猜你喜欢
      • 2011-09-21
      • 1970-01-01
      • 1970-01-01
      • 2011-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-26
      • 1970-01-01
      相关资源
      最近更新 更多