如何在 <VirtualHost> 或 httpd.conf 文件中添加 .htaccess 规则
How to add .htaccess rules inside <VirtualHost> or inside the httpd.conf file
对我正在做的事情的简短解释是:我需要为我机器上的每个 IP 地址自动创建虚拟主机,使其指向 vsftpd 用户目录 (/home/xxx) 并拒绝任何类型的正在执行的脚本。
我想停止执行任何类型的网页,尤其是 PHP 脚本,因为这会 post 巨大的安全风险(apache 是 sudo)。这个虚拟主机的目的纯粹是为了提供游戏资源文件,扩展名如 .wav 、 .mdl 、 .tga 、 .spr 等等。
我四处搜索,找到了这个
deny from all
<filesmatch "\.(avi¦wmv¦mpg¦mov)$">
Allow from all
</filesmatch>
但这是.htaccess 内容。我怎样才能实现这个只允许在我的 httpd.conf 文件中进行某些扩展的功能?让它使用 .htaccess 会很痛苦,而且会有风险,因为用户可能会编辑它们。
请勿发表与我的问题无关的评论,如"sudo apache? you're a dumbass"等
不存在仅 .htaccess 内容。这是一个巨大的误解。大多数时候你 NOT 想要使用 .htaccess
并且 Apache 建议你除非必要不要使用它。 Apache 规则始终可以放在服务器配置中。
现在您可以将其放入 VirtualHost 指令中。定义文档根目录的位置相同。
可在这些上下文中使用 FilesMatch 指令。
Context: server config, virtual host, directory, .htaccess
http://httpd.apache.org/docs/current/mod/core.html#filesmatch
因此,在您的虚拟主机文件中,您可以像本示例一样添加目录指令。
<Directory /path/to/documentroot/>
Deny from all
<FilesMatch "\.(avi|wmv|mpg|mov)$">
Allow from all
</FilesMatch>
</Directory>
如果您正在使用 Apache 2.4
,那么您需要使用 Require
。
<Directory /path/to/documentroot/>
Require all denied
<FilesMatch "\.(avi|wmv|mpg|mov)$">
Require all granted
</FilesMatch>
</Directory>
对我正在做的事情的简短解释是:我需要为我机器上的每个 IP 地址自动创建虚拟主机,使其指向 vsftpd 用户目录 (/home/xxx) 并拒绝任何类型的正在执行的脚本。
我想停止执行任何类型的网页,尤其是 PHP 脚本,因为这会 post 巨大的安全风险(apache 是 sudo)。这个虚拟主机的目的纯粹是为了提供游戏资源文件,扩展名如 .wav 、 .mdl 、 .tga 、 .spr 等等。
我四处搜索,找到了这个
deny from all
<filesmatch "\.(avi¦wmv¦mpg¦mov)$">
Allow from all
</filesmatch>
但这是.htaccess 内容。我怎样才能实现这个只允许在我的 httpd.conf 文件中进行某些扩展的功能?让它使用 .htaccess 会很痛苦,而且会有风险,因为用户可能会编辑它们。
请勿发表与我的问题无关的评论,如"sudo apache? you're a dumbass"等
不存在仅 .htaccess 内容。这是一个巨大的误解。大多数时候你 NOT 想要使用 .htaccess
并且 Apache 建议你除非必要不要使用它。 Apache 规则始终可以放在服务器配置中。
现在您可以将其放入 VirtualHost 指令中。定义文档根目录的位置相同。
可在这些上下文中使用 FilesMatch 指令。
Context: server config, virtual host, directory, .htaccess
http://httpd.apache.org/docs/current/mod/core.html#filesmatch
因此,在您的虚拟主机文件中,您可以像本示例一样添加目录指令。
<Directory /path/to/documentroot/>
Deny from all
<FilesMatch "\.(avi|wmv|mpg|mov)$">
Allow from all
</FilesMatch>
</Directory>
如果您正在使用 Apache 2.4
,那么您需要使用 Require
。
<Directory /path/to/documentroot/>
Require all denied
<FilesMatch "\.(avi|wmv|mpg|mov)$">
Require all granted
</FilesMatch>
</Directory>