我在我的网站上启用了PHP5,我的webhost需要我将以下内容添加到.htaccess文件中,以便PHP5正常工作:
AddHandler application / x-httpd-php5 .php5 .php4 .php .php3 .php2 .phtml
AddType application / x-httpd-php5 .php5 .php4 .php .php3 .php2 .phtml
在本地,我正在运行XAMPP来开发代码,但是XAMPP不想使用上面的.htaccess文件。
我认为这是XAMPP无法识别php5的问题(但如果我使用“application / x-httpd-php”代替“application / x-httpd-php5”,它确实能识别php)
我该如何解决这个问题?!我需要.htaccess文件看起来像上面所以他们使用我的webhost,但是我需要XAMPP在本地使用相同的文件而不进行更改!
答案 0 :(得分:3)
Apache有<IfDefine>
指令。您可以使用它来隐藏自己服务器中的AddType
:
<IfDefine !MyServer>
AddType application/x-httpd-php5 .php5 …
…
</IfDefine>
用
启动apacheapachectl -D MyServer
答案 1 :(得分:0)
所以,你是一个艰难的地方;理想情况下,您的webhost不需要您在htaccess文件中添加额外的gunk。不太了解XAMPP,我不能提供具体的解决方案,但我可以给你一些指示:
您的webhost正在运行使用application / x-httpd-php5的自定义编译版PHP;虽然完全有可能自己构建PHP或找到适当配置SAPI层的自定义构建,但您可能不想要这样做。
根据主机提供htaccess文件的余地,可以使用&lt; IfDefine&gt;或&lt; IfModule&gt;只有条件地执行PHP软糖代码。我没有测试过,您的webhost可能已禁用此功能。此外,您必须找到适当的条件来进行测试。
我最喜欢的答案是吸收它,并维护单独的htaccess文件。我在我的网站上这样做;我有一个包含“全局”声明的.htaccess.in文件,以及一个根据配置生成真正的.htaccess文件的htaccess.php文件。
希望有所帮助。
答案 2 :(得分:0)
另一个简单的解决方案:change the config file name在家。例如。在httpd.conf中:
<Directory />
#existing stuff here...
AccessFileName .htaccess.home
</Directory>
现在您的家庭服务器将忽略您的“.htaccess”文件。您将使用“.htaccess.home”文件对其进行配置。