htaccess - 将php解析为html

3

最近我使用.htaccess 文件来使服务器解析PHP文件。昨天我上传了同样的 .htaccess 文件并尝试测试一个PHP文件。但是出现了问题:浏览我的页面时,浏览器提供下载html页面而不是查看页面!

在服务器上,文件名以.html结尾。

我向我的.htaccess文件中添加了以下内容:

AddType application/x-httpd-php .html

我试图找到htaccess文件,但一旦上传后,它就从根目录中消失了。 我尝试上传其他我在浏览中找到的脚本。我甚至尝试在托管论坛上搜索问题。但都没有帮助。 请帮忙!

2个回答

5

试试这个

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

或者

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

在上述代码之后,删除其他覆盖处理程序 application/x-httpd-php 的处理程序。

我不认为那是问题,如果他没有使用 .php 或 .htm 扩展名,那么就没有必要... - cyber-guard
谢谢!但是如果我看不到任何htacces文件夹或文件,如何移除呢?请参见@Cyber-Guard Design的答案。我可以尝试重新上传一个带有这些代码的.htaccess 文件吗? - Roko C. Buljan
是的,我已经删除了我尝试探索的测试 PHP,现在我只需要撤消更改。看起来像不可能的任务。 - Roko C. Buljan
请更正您的拼写,将 tryed 改为 tried,在 .htaccess 中应该没问题。 - Ish
AddHandler application/x-httpd-php .php .htm .html这个指令确实有帮助!但前提是我必须输入www.roko.x10.mx/index.html,否则它将再次无法打开。 - Roko C. Buljan
已解决。我按照您和@Cyber-Guard建议的方式进行了所有可能的更改和“重写”。现在一天后,页面甚至可以从根目录打开。谢谢! - Roko C. Buljan

2

首先,您使用的是哪个主机?

还有,您使用的是哪个FTP客户端?一些默认情况下不会显示以.开头的文件,例如.htaccess.htpasswd,这就是为什么它可能看起来像您没有上传它。另外,可能是因为您没有在根目录中上传的权限,请尝试向上进入一个目录。

此外,根据我的经验,主机不允许您通过.htaccess修改标头,因为allowoverride指令已关闭。相反,可以查看URL重写(通过mod_rewrite),这样可以在不修改标头的情况下完成相同的操作。

您的重写.htaccess文件可能如下所示:

RewriteEngine On
RewriteBase /
RewriteRule ^(\w+)\.html$ $1.php [NC] 

(尚未经过测试) 使用重写还意味着您的文件实际上将保留php扩展名,但是它们将通过包括.html扩展名的url进行访问。


奇怪...在我应用了所有更改并等待了一天后...现在一切都正常工作了!感谢您的建议和帮助! - Roko C. Buljan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接