如何借助 .htaccess 设置在 HTML 文件中使用 PHP7 代码
Posted
技术标签:
【中文标题】如何借助 .htaccess 设置在 HTML 文件中使用 PHP7 代码【英文标题】:How to use PHP7 code in HTML file with the help of .htaccess setting 【发布时间】:2017-11-14 17:27:18 【问题描述】:我正在使用 linux 服务器,并且在我的服务器中安装了 php 7.* 版本。我想在 html 文件中使用 PHP 代码。现在它在网页中呈现 PHP 代码。我在我的 .htaccess 文件中使用以下代码,但它不起作用。
AddHandler x-httpd-php .html .htm
和
AddHandler php7-script .php .html .htm
和
<FilesMatch "\.html?$">
SetHandler application/x-httpd-php7
</FilesMatch>
但所有这些都不起作用。
【问题讨论】:
您运行的是 Apache 还是 nginx?如果是 Apache,请尝试:AddType application/x-httpd-php .html .htm
:***.com/questions/4687208/…
@Magnus 运行 Apache。当我使用 AddType application/x-httpd-php .html .htm 时,它会下载带有 html 代码的文件。
只有在父目录中的AllowOverride 设置为true 时才能使用.htaccess 文件。另外,您确定 php 模块已加载到 Apache 中吗?检查启用模块目录。
@Gordon 如果它在 OP 在 htacess 中设置 AddHandler 时尝试下载文件,那么可以安全地假设 htaccess 已加载并使用。否则,它将被简单地忽略而不做任何更改。
@MagnusEriksson 是的,但是如果我在 *** 学到了一件事,那么验证比假设更安全。
【参考方案1】:
安装php7.0-cgi后
sudo apt install php7.0-cgi
you can add to your .htaccess
AddHandler php70-cgi .php
告诉 Apache 在任何扩展名为“.php”的文件上运行 PHP 使用名为 php70-cgi 的模块,即 afaik modules/php70-cgi.so
它不工作的原因可能是
中的网络服务器设置/etc/apache2/sites-available/default
如果有AllowOverride
“无”,请将其设置为“全部”,否则您只能在<Directory>
中进行设置,而不能在.htaccess
中进行设置
<Directory /var/www/>
...
AllowOverride All
...
</Directory>
【讨论】:
以上是关于如何借助 .htaccess 设置在 HTML 文件中使用 PHP7 代码的主要内容,如果未能解决你的问题,请参考以下文章
如何在/ var / www / html / blog /上为laravel 5.6设置htaccess