![ForceType/SetHandler 代码-为什么它有效?](https://linux22.com/image/538561/ForceType%2FSetHandler%20%E4%BB%A3%E7%A0%81-%E4%B8%BA%E4%BB%80%E4%B9%88%E5%AE%83%E6%9C%89%E6%95%88%EF%BC%9F.png)
我试了一下这段代码,虽然不知为何可以运行,但是其中是否存在错误?
我不确定纠正这个问题的最佳方法是什么,但是这里有...
<Files .+*^$[]()>
ForceType application/x-httpd-php
SetHandler application/x-httpd-php
</Files>
不确定为什么它会起作用;这是正则表达式错误吗?这是否意味着我可以拥有一个包含 PHP 代码和图像等的无扩展名文件,并且它会运行良好,或者是否有其他代码可以做到这一点?
(请记住这是从 PHP 脚本论坛复制并上传的...)
答案1
不,这看起来不像是遵循 PCRE。Apache 解析是它的一个子集。如果你想确切地知道它为什么有效,你需要下载 apache 源代码并开始阅读 srclib/pcre/pcre.c。
如果您只是想为任何没有扩展名的文件设置 PHP 处理程序,那么合理的方法可能如下:
<FilesMatch ^\b\w*\b$>
SetHandler application/x-httpd-php
</FilesMatch>
不过,你所说的“有效”是什么意思还不清楚。你可能是指它不会产生错误,或者它有某种其他有用的意外行为。