php中AddType application/x-httpd-php

问题描述

在看https://www.php.net/manual/zh...
其中https://www.php.net/manual/zh...
好奇便想着试试

# 使 PHP 代码看上去像 HTML 页面
    AddType application/x-httpd-php .htm .html

我尝试过通过 .htaccess 和 Apache 的配置文件修改,结果都会出现htm文件会被直接下载

问题出现的环境背景及自己尝试过哪些方法

<?php
    header('Content-Type: text/html');
    echo 'hello';

也会被直接下载

当把环境恢复正常时新建x.php

<?php echo $_SERVER['REDIRECT_HANDLER']; ?>

输出为空白

<?php var_dump($_SERVER['REDIRECT_HANDLER']); ?>

输出为null

阅读 4.5k
1 个回答

因为httpd根本没有把html文件交给php处理,当然会直接下载了。你要想把php伪装成html文件(指的是URL伪装,文件格式的话,php本来默认生成的就是html,你那句header有没有其实都一样),可以试试rewrite规则。

文档里的方法并不完整,你还要设置原来把php交给php程序处理的改成把html文件交给php程序处理。你的php程序要保存成html文件而不是php文件。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题