htaccess 下载文件而不是加载

Posted

技术标签:

【中文标题】htaccess 下载文件而不是加载【英文标题】:htaccess downloading file instead of loading 【发布时间】:2012-01-07 22:14:27 【问题描述】:

我真的希望我的 index.html 能够在其上运行 php 脚本。我读到您可以通过 htaccess 文件执行此操作。我只能访问子域网站目录,我可以通过 FTP 上传我的文件。

该目录没有 htaccess 文件,所以我使用记事本创建了一个:.htaccess 并将其添加到文件中:

AddType application/x-httpd-php .html

问题是,它不是加载 index.html 页面,而是将其作为文件下载...我需要在 htaccess 文件中添加一些额外的内容吗? :S

【问题讨论】:

为什么不直接使用 index.php? 我可以...但是我想要一个 html 扩展,哈哈 我想我关心的是 seo,但我一直在阅读更多内容,而且你拥有什么扩展似乎并不重要。我也有一些人已经链接到 index.html 页面,不希望他们以死链接结束 @Jess 您可以将现有的 index.html 页面重定向到您的 index.php。这将使他们现有的链接保持正常工作。 【参考方案1】:

大概您的主机支持 PHP?

如果是这样,那么您需要将文件从 index.html 重命名为 index.php

【讨论】:

好的,我明白了。如果第一个问题的答案是“是”,请查看此链接 - besthostratings.com/articles/php-in-html-files.html【参考方案2】:

您的指令设置文件的内容类型,文件扩展名为 .html。

如果服务器安装并启用了 PHP,该内容类型将导致它通过 PHP 引擎运行,然后将其输出发送到客户端。

如果它没有安装 PHP,那么文件将只提供给具有该内容类型的客户端。由于浏览器本身不处理 PHP 脚本,因此它们只会保存文件。

您需要安装和启用 PHP 以及设置内容类型。

【讨论】:

【参考方案3】:

您无需将文件命名为 index.html 即可默认提供该文件。您可以使用 .htaccess 文件中的条目更改默认文档,如下所示:

DirectoryIndex index.php

然后,当您导航到http://yoursubdomain.example.com 时,您将获得index.php 而不是index.html


如果确实希望 PHP 解释您的 .html 文档,那么当 PHP 作为 Apache 模块运行时,您在问题中的条目将起作用。如果您的主机将 PHP 作为 CGI 运行,您需要:

AddHandler application/x-httpd-php .html

如果还是不行,那么这个网页还有一些建议:

http://www.velvetblues.com/web-development-blog/how-to-parse-html-files-as-php/

【讨论】:

我最终无法让 html 到 php 工作:/ 但您建议的 Directoryindex 工作正常!谢谢大家:) 谢谢,帮助! 1and1突然把apache改成2.4开始下载index.php文件而不是打开它,1and1像往常一样没用...

以上是关于htaccess 下载文件而不是加载的主要内容,如果未能解决你的问题,请参考以下文章

Flash 对象正在下载而不是显示

PHP文件被下载而不是执行

使用 .htaccess 强制文件下载

使用.htaccess强制下载文件或图像

PHP强制下载,htaccess拒绝所有,无法读取文件头

使用.htaccess强制下载文件