如何通过 apache 渲染 .phtml 文件
Posted
技术标签:
【中文标题】如何通过 apache 渲染 .phtml 文件【英文标题】:How to render a .phtml file through apache 【发布时间】:2012-05-08 12:10:13 【问题描述】:我想通过 Apache 渲染一个 .phtml 文件,但是当我尝试时,它会将页面渲染为文本而不是 html。
在我的 vhost 配置中,如果我尝试渲染 index.php,它会正确执行。但是当我将 DirectoryIndex 更改为 index.phtml 并尝试呈现公共目录中的 index.phtml 时,它只会呈现文本。
虚拟主机配置为:
code
服务器名称 parminder.com
DocumentRoot "C:/workspace/parminder_local_net/public"
错误日志日志/parmindercom.log
选项索引 FollowSymLinks
允许覆盖所有
命令允许,拒绝
允许所有人
目录索引 index.phtml
*
我还需要配置什么才能使其正常工作?我需要使用 .htaccess 吗? 基本概念是什么?
【问题讨论】:
【参考方案1】:htaccess 文件 根文件夹 --> 文件夹 -->html 页面和子文件夹
尝试添加它:
AddHandler php-script .php .php5 .php4 .php3 .html .htm .phtm
l
【讨论】:
应该是“AddHandler application/x-httpd-php .php .php5 .php4 .php3 .html .htm .phtml”。处理程序不是 php-script。【参考方案2】:您需要配置 Apache,以便它知道您希望将 .phtml 文件视为 PHP。请参阅the PHP install guide 的第 8 步。
<FilesMatch "\.ph(p[2-6]?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
...但是 .phtml 是用于 PHP 2 的文件扩展名。您可能应该审核它们,将它们带入现代 PHP 编码实践并重命名它们以遵循当前约定。
【讨论】:
谢谢,它通过在我的 .htaccess 文件中设置上述指令来工作。另外,在 httpd.conf 我有:code
AddType application/x-httpd-php .php
你在 .htaccess 文件中写了什么?
我在 .phtml
extensions 上的另一个问题上看到了您的类似回答,并询问了我的同事。显然 Zend Framework 中的视图适用于这个扩展,它也在他们的文档中。【参考方案3】:
安装apache服务器后,需要说明apache解析器会读取哪些文件,
这是通过提及文件类型来完成的。 喜欢
**
> <FilesMatch \.php$>
> SetHandler application/x-httpd-php </FilesMatch>
**
为了允许 .php、.php2、.php3、.php4、.php5、.php6 和 .phtml 文件作为 PHP 执行,请使用以下一个
<FilesMatch "\.ph(p[2-6]?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
【讨论】:
以上是关于如何通过 apache 渲染 .phtml 文件的主要内容,如果未能解决你的问题,请参考以下文章
i春秋——“百度杯”CTF比赛 九月场——123(Apache解析pht,phtml,php3等 php别名)
Magento 2 - 如何在另一个 phtml 文件、xml 布局、静态块和 cms 页面中调用自定义 phtml 文件?