.htaccess 导致下载所有页面

Posted

技术标签:

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

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

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

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

谢谢!

【问题讨论】:

+1 用于弄清楚如何做到这一点...... 浏览器总是下载页面。 【参考方案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。

以上是关于.htaccess 导致下载所有页面的主要内容,如果未能解决你的问题,请参考以下文章

htaccess 文件不适用于特殊字符

重写规则问题:.htaccess

htaccess:尝试 ErrorDocument 时出现 404 Not Found 错误

WordPress 404 模板覆盖我的 .htaccess 设置以解决 404 错误?

.htaccess是什么

使用 htaccess 拒绝访问除少数文件夹外的所有文件夹