我在网站上启用了PHP5,并且我的虚拟主机需要我将以下内容添加到.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文件看起来像上面那样,以便它们可以与我的Web主机一起使用,但是我需要XAMPP在本地使用相同的文件而无需进行更改!
Apache具有指令。您可以使用它在您自己的服务器中隐藏AddType:
1
2 3 4 |
<IfDefine !MyServer>
AddType application/x-httpd-php5 .php5 … … </IfDefine> |
并从开始
1
|
apachectl -D MyServer
|
另一个简单的解决方案:在家更改配置文件名。例如。在httpd.conf中:
1
2 3 4 |
<Directory />
#existing stuff here… AccessFileName .htaccess.home </Directory> |
现在您的家庭服务器将忽略您的” .htaccess”文件。您将使用” .htaccess.home”文件对其进行配置。
因此,您处在艰难的境地;理想情况下,您的网络主机不需要您在htaccess文件中添加多余内容。不太了解XAMPP,我无法提供特定的解决方案,但是我可以给您一些提示:
- 您的网络主机正在运行一个使用application / x-httpd-php5的PHP的自定义编译版本;虽然完全可以自己构建PHP或找到具有适当配置的SAPI层的自定义构建,但您可能不想这样做。
- 根据主机为htaccess文件提供多少空间,可能可以使用或仅有条件地执行PHP软糖代码。我尚未测试,您的虚拟主机可能已禁用此功能。另外,您将必须找到合适的条件进行测试。
- 我最喜欢的答案是将其吸收,并维护单独的htaccess文件。我在我的网站上进行;我有一个.htaccess.in文件,其中包含”全局”声明,还有一个htaccess.php文件,该文件会根据配置等生成实际的.htaccess文件。