【问题标题】:.htaccess causes all pages to be downloaded.htaccess 导致下载所有页面
【发布时间】:2011-06-09 12:02:54
【问题描述】:

我在.htaccess 中添加了以下行:

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

当我尝试从侧面加载任何页面时,我的浏览器会尝试下载该页面!我做错了什么?

谢谢!

【问题讨论】:

  • +1 用于弄清楚如何做到这一点......
  • 浏览器总是下载页面。

标签: php html apache .htaccess


【解决方案1】:

很有可能;您没有为您的网络服务器加载 PHP 模块。这意味着服务器找到一个 application/x-httpd-php 文件,它直接将它传递给客户端,而不是通过 PHP 解释器运行它(它将运行任何 PHP 代码并输出 text/html 内容类型)。由于浏览器不包含 PHP 解释器,它们将其视为任何其他未知内容类型,并提供将其保存到光盘。

【讨论】:

  • 为了验证这一点,-> 尝试运行一个以 .php 作为后缀的普通 php 文件
  • 我可以运行 .php 文件就好了。如果我知道后缀是什么,我会试试你的测试。
【解决方案2】:

HTML 文档应作为text/html 提供给浏览器。更改您的 MIME 类型。

AddType text/html .html .htm

如果您尝试将 HTML 文件作为 PHP 执行,则应将文件扩展名更改为 *.phtml。

  • *.html - HTML 内容
  • *.php - PHP 内容
  • *.phtml - 带有嵌入式 PHP 脚本的 HTML 内容

如果您试图强制 PHP 解析器处理这些文件类型,您应该在 Apache 上编辑 httpd.conf 文件以包含这些文件扩展名的 application/x-httpd-php MIME 类型。

【讨论】:

  • 看来他正在尝试将 HTML 文档作为 PHP 执行。丑陋的黑客国际海事组织。对 PHP 使用 .php,对纯 HTML 使用 .html。
  • PHTML 适用于 PHP 2(IIRC,可能是不同的版本),而不是 PHP 和 HTML 的组合。绝大多数 PHP 文件都包含 PHP 和 HTML。如果系统从静态 HTML 迁移到 PHP,那么通过 PHP 运行 .html 文件非常有意义,因为它保留了现有的 URI。 (在回复的评论被删除之前,这更有意义)
  • @David 我不同意这一点。 PHTML 文件被定义为嵌入了 PHP 脚本的 HTML 文件。
  • 那么.. 有什么办法可以使这项工作?我的服务器运行 .php 文件就好了。今晚我想节省一些时间。
  • 如前所述,大多数 PHP 文件都是如此。 .phtml 只是很久以前使用的扩展名。然后他们切换到 .php3 以明确下载的脚本需要更新版本的 PHP。然后他们放弃了这个想法,因为从那以后它仍然坚持使用 .php。
猜你喜欢
  • 2013-06-06
  • 1970-01-01
  • 2012-01-09
  • 1970-01-01
  • 1970-01-01
  • 2022-10-15
  • 2015-10-25
  • 2012-06-02
相关资源
最近更新 更多