Debian服务器.htaccess配置AddType无法解析自定义PHP扩展名问题咨询
解决自定义扩展名通过.htaccess解析为PHP的问题
嘿,我之前碰到过一模一样的情况!问题的核心在于:AddType只是给.abc这类自定义扩展名设置了对应的MIME类型,但并没有明确告诉Apache要把这些文件交给PHP解析器来处理。而你提到的php1、php5、phtml这些扩展名,在Apache的主配置里已经被预先关联到了PHP的处理程序,所以能正常执行。
下面给你几个亲测有效的解决方案,直接放到你的.htaccess文件里试试:
方法1:用SetHandler直接指定PHP处理器
这个方法最直接,强制让.abc文件交给PHP5的处理程序解析:
<FilesMatch "\.abc$"> SetHandler application/x-httpd-php5 </FilesMatch>
这里的application/x-httpd-php5是PHP5在Apache里的标准处理器名称,大部分Debian环境下都适用。
方法2:用AddHandler关联扩展名到PHP处理器
如果上面的方法没生效,可以试试AddHandler,它能直接把扩展名和处理程序绑定:
AddHandler application/x-httpd-php5 .abc
方法3:尝试替代的处理器名称
有些环境里PHP5的处理器名称可能是php5-script,如果前两种方法都不行,试试这个:
# 方式A AddHandler php5-script .abc # 方式B <FilesMatch "\.abc$"> SetHandler php5-script </FilesMatch>
额外注意事项
要确保你的Apache配置允许.htaccess使用这些指令——这些操作属于FileInfo级别的权限,你已经能使用基础认证(需要AuthConfig权限),大概率主机商已经开放了FileInfo,但如果还是不行,可能需要联系服务器管理员确认一下AllowOverride的设置是否包含FileInfo。
内容的提问来源于stack exchange,提问作者PrivateIntID
相关产品推荐
相关产品推荐

