无法解析.html文档中的PHP,MAMP Pro

时间:2015-05-07 16:38:45

标签: .htaccess mamp mamp-pro

我需要在扩展名为.html的文件中解析PHP指令(我正在更新旧版网站并希望避免链接断开)。 存在大量的技巧和解决方案,其中没有一个在我当地使用MAMP Pro 3,最新版本(3.2.1)。

我将PHP版本设置为5.4.39否则,所有其他MAMP设置都是默认设置(包括加载fastCGI模块)。

全部检查AllowOverride,Order和Allow from。

我创建了一个.htaccess文件,显然是因为其他东西(例如自定义404页面)正在被读取。

我通过搜索找到的建议并尝试了哪些不起作用包括:

AddHandler php5-cgi .html .htm

AddHandler application/x-httpd-php .html

(以上的AddType变体,促使浏览器下载文档。)

我的项目位于MAMP htdocs文件夹的子目录中。 .htaccess文件位于项目子目录的根目录中,如果这有任何区别的话。 Mac OS 10.9.5如果有任何区别。

关于如何让这个看似简单的事情在MAMP中工作的任何想法? 谢谢。 史蒂夫

2 个答案:

答案 0 :(得分:1)

AddHandler规则可以特定于每个Apache + PHP安装,并且在更改生效之前可能需要重新启动apache。有关更多选项,请参阅此其他帖子:Server not parsing .html as PHP

但是,更常见的解决方案是在您希望PHP解析的任何文件上使用.php后缀,然后使用.htacceess规则将任何旧的html链接重定向到新的php对应项。

RewriteRule ^(.*).html? $1.php [R=301]

这样做的好处是告诉浏览器使用新网址更新任何书签。

答案 1 :(得分:0)

对于 MAMP Pro,这是有效的:

AddHandler php-fastcgi .html

供以后参考:
我在谷歌搜索中发现了很多变体,但没有任何效果(至少在前 10 页)。 当我几乎要放弃时,我尝试在我的 <?php phpinfo(); ?> 输出中搜索“handler”并找到了这个:

$_ENV['REDIRECT_HANDLER']   php-fastcgi

所以我把通常的 application/x-httpd-php 换成了 php-fastcgi,瞧!

我承认这花了我更多的时间,所以希望它会帮助某人。