运行 php 在 .html 个带有 .htaccess 的页面上
Run php on .html pages with .htaccess
想使用 DDEV 进行本地开发,我有一个站点,其中包含遗留内容,需要 运行 php 在扩展名为 .html 的页面上。在其他测试环境中,我在 .htaccess 中使用了不同的行来启用它。在我的 ddev 测试环境中,我还不知道什么是有效的。
已更新
以下是我在 .htaccess 中尝试过的行(单独或组合取消注释):
#AddType application/x-httpd-php .html .htm
#AddHandler application/x-httpd-php .htm .html
#AddType application/x-httpd-php7 .html .htm
#AddHandler application/x-httpd-php7 .htm .html
#AddHandler x-httpd-php .htm .html
#AddType x-httpd-php .html .htm
#AddType x-httpd-php7 .html .htm
#AddHandler x-httpd-php7 .htm .html
#AddType x-httpd-php73 .htm .html
#AddHandler x-httpd-php73.htm .html
#AddHandler x-httpd-php7-3 .htm .html
#AddType application/x-httpd-php73 .html .htm
#AddType application/x-httpd-php7-3 .html .htm
#AddHandler application/x-httpd-php7-3 .htm .html
我还尝试更新 .ddev/apache/apache-site.conf,内容如下:
<FilesMatch ".html$">
SetHandler "proxy:fcgi://php:9000"
</FilesMatch>
或
<FilesMatch ".+\.html$">
SetHandler applicaiton/x-httpd-php
</FilesMatch>
但不可否认,这不是我熟悉的东西,所以可能不太正确。
macOS Big Sur,ddev1.16.5 与 php7.3,ddev webserver_type:apache-fpm。
有什么建议吗?谢谢!
问题是 php-fpm 未配置为允许使用 .html 文件扩展名。这是在 /etc/php//fpm/pool.d/www.conf.
中配置的
因此,您需要做两件事来启用您所追求的行为,允许 PHP 解释 HTML 个文件。
- 允许在 pool.d/www.conf 中处理 php-fpm 配置中的 html 个文件。您可以使用
中的答案执行此操作
- 允许在 apache 配置中处理 html 个文件。我确信有不止一种方法可以做到这一点,你也许可以在 .htaccess 中做到这一点,但我是通过在 .ddev/apache/apache-site.conf(和当然删除文件顶部的#ddev-generated):
<FilesMatch ".+\.(html|ph(ar|p|tml))$">
SetHandler "proxy:unix:/var/run/php-fpm.sock|fcgi://localhost"
</FilesMatch>
想使用 DDEV 进行本地开发,我有一个站点,其中包含遗留内容,需要 运行 php 在扩展名为 .html 的页面上。在其他测试环境中,我在 .htaccess 中使用了不同的行来启用它。在我的 ddev 测试环境中,我还不知道什么是有效的。
已更新 以下是我在 .htaccess 中尝试过的行(单独或组合取消注释):
#AddType application/x-httpd-php .html .htm
#AddHandler application/x-httpd-php .htm .html
#AddType application/x-httpd-php7 .html .htm
#AddHandler application/x-httpd-php7 .htm .html
#AddHandler x-httpd-php .htm .html
#AddType x-httpd-php .html .htm
#AddType x-httpd-php7 .html .htm
#AddHandler x-httpd-php7 .htm .html
#AddType x-httpd-php73 .htm .html
#AddHandler x-httpd-php73.htm .html
#AddHandler x-httpd-php7-3 .htm .html
#AddType application/x-httpd-php73 .html .htm
#AddType application/x-httpd-php7-3 .html .htm
#AddHandler application/x-httpd-php7-3 .htm .html
我还尝试更新 .ddev/apache/apache-site.conf,内容如下:
<FilesMatch ".html$">
SetHandler "proxy:fcgi://php:9000"
</FilesMatch>
或
<FilesMatch ".+\.html$">
SetHandler applicaiton/x-httpd-php
</FilesMatch>
但不可否认,这不是我熟悉的东西,所以可能不太正确。
macOS Big Sur,ddev1.16.5 与 php7.3,ddev webserver_type:apache-fpm。
有什么建议吗?谢谢!
问题是 php-fpm 未配置为允许使用 .html 文件扩展名。这是在 /etc/php/
因此,您需要做两件事来启用您所追求的行为,允许 PHP 解释 HTML 个文件。
- 允许在 pool.d/www.conf 中处理 php-fpm 配置中的 html 个文件。您可以使用 中的答案执行此操作
- 允许在 apache 配置中处理 html 个文件。我确信有不止一种方法可以做到这一点,你也许可以在 .htaccess 中做到这一点,但我是通过在 .ddev/apache/apache-site.conf(和当然删除文件顶部的#ddev-generated):
<FilesMatch ".+\.(html|ph(ar|p|tml))$">
SetHandler "proxy:unix:/var/run/php-fpm.sock|fcgi://localhost"
</FilesMatch>