ForceType/htaccess 文件扩展名问题 - 无扩展名的文件? [英] ForceType/htaccess file extension question - extensionless files?
问题描述
这是我的 .htaccess 文件:
This is my .htaccess file:
<IfModule php4/5.c>
php_admin_flag Option
php_flag Option
php_admin_value Option
php_value Option
</IfModule>
<Files .>
ForceType application/x-httpd-php
SetHandler application/x-httpd-php
</Files>
上面的代码以某种方式工作,但我不知道为什么......我预计会出现 500 错误.我对 .htaccess 没问题,但主要是为了阻止机器人/蜘蛛等,而不是文件类型.文件的顶部用于自定义 php.ini 文件(我试图在我自己的 Apache 服务器上复制,好像我无法访问正确的 php.ini 文件,就像他们在网络托管公司的网站上所做的那样,只是为了在我的测试站点上增加了真实感).
The above code somehow works, but I'm not sure why though... I expected a 500 error. I'm OK at .htaccess, but mainly for things like blocking robots/spiders etc. rather than filetypes. The top of the file is meant for custom php.ini files (I was trying to replicate on my own Apache server as if I had no access to the proper php.ini file, like they do on web hosting companies' sites, just for added realism on my testing sites).
虽然我了解如何使用 ForceType 和 SetHandler,但我不确定如何将其用于无扩展名的文件(例如,如果我有一个名为 testing1 的文件,我可以将它作为 php 运行).
Although I understand how to use ForceType and SetHandler, I'm not sure how to use it for extensionless files (e.g. if I had a file called testing1, I could run it as php).
以前我是这样做的:
<Files testing1>
ForceType application/x-httpd-php
SetHandler application/x-httpd-php
</Files>
但是为每个无扩展名的文件做这件事变得很乏味.
but it became tedious doing it for every single extensionless file.
基本上,我想要做的是通过 ForceType/SetHandler 指令确保我拥有无扩展名的文件,但这可能吗?(在我的第一个例子中,上面的符号是通配符还是不是?)
Basically, what I'm trying to do is to ensure that I have extensionless files via the ForceType/SetHandler directives, but is it possible? (and is the symbol above in my first example the wildcard one, or not?)
谢谢
推荐答案
DefaultType
已在 Apache 2.4 中删除.您最好的选择如下:
DefaultType
has been removed in Apache 2.4. Your best option is the following:
<Files *>
ForceType application/x-httpd-php
</Files>
<Files *\.*>
ForceType None
</Files>
这将捕获所有没有扩展名的文件并将它们作为 PHP 处理.然后所有带有扩展名的文件将被正常处理.
This will catch all files without an extension and process them as PHP. Then all files with an extension will be processed as normal.
使用 mod_mime_magic
不是一个好的选择,因为每次都需要检查每个文件.有关详细信息,请参阅 mod_mime_magic 文档.
Using mod_mime_magic
is not a good choice as each file will need to be checked each time. See the mod_mime_magic docs for more info.
这篇关于ForceType/htaccess 文件扩展名问题 - 无扩展名的文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!