这是我的.htaccess文件:
<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,但主要是像阻塞机器人/蜘蛛等,而不是文件types的东西。 该文件的顶部是用于自定义php.ini文件(我试图复制我自己的Apache服务器,就像我没有访问正确的php.ini文件,就像他们在networking托pipe公司的网站上做的一样,只是为了在我的testing网站增加了现实主义)。
虽然我知道如何使用ForceType和SetHandler,但我不确定如何将其用于无扩展文件(例如,如果我有一个名为testing1的文件,我可以将其作为php运行)。
以前我是这样做的:
<Files testing1> ForceType application/x-httpd-php SetHandler application/x-httpd-php </Files>
但是对于每一个无延伸的文件来说,它变得单调乏味。
基本上,我想要做的是确保我有通过ForceType / SetHandler指令的无扩展名文件,但是这有可能吗? (在我的第一个例子中,上面的符号是通配符,还是不是?)
谢谢
Apache 2.4中已经删除了DefaultType
。 你最好的选择是以下几点:
<Files *> ForceType application/x-httpd-php </Files> <Files *\.*> ForceType None </Files>
这将捕获没有扩展名的所有文件,并将它们处理为PHP。 然后所有带扩展名的文件将被正常处理。
使用mod_mime_magic
不是一个好的选择,因为每个文件都需要每次检查。 有关更多信息,请参阅mod_mime_magic文档 。
对于Apache 2.3及更早版本 ,只需更改DefaultType
,如下所示:
DefaultType text/html
这样,每个未被识别的文件(包括没有扩展名的文件)将被视为HTML。
对于Apache 2.4及更高版本 ,请参阅Tigger的答案 。
这个解决方案只影响无延伸,静态服务的文件:(信贷尤金克纳 )
<FilesMatch "^[^.]+$"> ForceType application/x-httpd-php </FilesMatch>
这个会影响任何在没有Content-Type
头的情况下会被传送的响应。 换句话说,它模仿了旧的DefaultType
指令的行为:
Header set Content-Type "application/x-httpd-php" "expr=-z %{CONTENT_TYPE}"
应该可以在这里使用setifempty
而不是-z
表达式。 但是它会失败并在每个响应中覆盖标题,不管是否为空。 我不知道为什么。 埃里克科维纳说,这是因为Content-Type
头没有被添加“直到最后一秒”。
升级到2.4后会失败:(参见手册 )
DefaultType application/x-httpd-php
我花了很多年试图解决类似的问题,ForceType和DefaultType在某些页面上不起作用。
我找到了与kbk相同的答案。 编辑/etc/httpd/conf/httpd.conf并注释Mime Magic modulee的行:
<Ifmodulee mod_mime_magic.c> # MIMEMagicFile /usr/share/magic.mime # MIMEMagicFile conf/magic </Ifmodulee>
之后,重新启动Apache。
你可以在这里找到更多的信息: http : //realtechtalk.com/HTML_files_in_Apache_still_displaying_as_raw_text_even_with_DefaultType_ForceType_etc-1752-articles
(1)修改.htaccess或apache2.conf或httpd.conf
资源:
添加:DefaultType应用程序/八位字节流
如果存在,则删除:DefaultType text / plain
重新启动Apache
(2)启用mime_magic
资料来源:
启用mime_magic $ sudo a2enmod – > mime_magic
$ sudo /etc/init.d/apache2 restart
禁用模块:
$ sudo a2dismod -> mime_magic $ sudo /etc/init.d/apache2 restart