2009-11-11 64 views
2

我在服务器上有一个目录,我只希望.JPG文件由apache提供服务 - 而apache应拒绝对php,php3,php5等文件的请求。禁用从.htaccess中的文件夹中提供PHP文件

我应该在.htaccess中写什么?

我试过了,前两个给500内部错误,第三个根本不工作!

<Directory full-path-to/USERS> 
<FilesMatch "\.(php3?|phtml)$"> 
    Order Deny,Allow 
    Deny from All 
</FilesMatch> 

<LocationMatch "/USERS/.*\.(php3?|phtml)$"> 
    Order Deny,Allow 
    Deny from All 
</LocationMatch> 


php_flag engine off 

问候,

+0

如果您检查error_log,您应该会看到与您的HTTP 500相关的更详细的消息。 当然,最简单的解决方案是简单地将jpegs存储在不同的文件夹中... – 2009-11-11 18:11:20

+0

谢谢弗兰克 - 我正要打开日志文件;但随后戴夫提出了一个援助之手..问题修复! – effkay 2009-11-11 18:28:51

回答

6

怎么样了mod_rewrite?

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !(\.jpg|\.jpeg) 
RewriteRule ^(.*)$ - [F] 

这将允许只提供.jpg或.jpeg文件,其他所有文件都会得到403禁止。

+0

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaand This works !!! 谢谢你! – effkay 2009-11-11 18:27:25

+0

+1用于间歇解决方案。让RewriteEngine开启的副作用是什么? (我对此不太了解,这就是为什么我问。) – Tom 2009-11-11 18:30:18

+0

很高兴帮助。我不确定副作用是什么,但我有一种感觉,它会很小或不存在。 – davethegr8 2009-11-11 18:39:29

相关问题