.htaccess - 如果url包含,则为RewriteRule条件

时间:2016-05-23 08:02:11

标签: apache .htaccess mod-rewrite

在我的.htaccess中,如果用户直接访问图像,则返回403,但允许它们在现场显示。我已经阅读(htaccess) How to prevent a file from DIRECT URL ACCESS?以实现此目标。

这是我的.htaccess

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www\.)?myapp.dev/ [NC]
RewriteRule \.(gif|jpg|JPG|jpeg|png)$ - [F]
Options -Indexes

接下来我要做的是,如果网址包含" pdf" (例如myapp.dev/pdf/stuff.png)我不会使用或跳过此代码

RewriteRule \.(gif|jpg|JPG|jpeg|png)$ - [F]

也许我可以修改RewriteCond or the RewriteRule并添加条件......

任何想法/替代方案都会有所帮助!

1 个答案:

答案 0 :(得分:0)

要禁止.pdf请求,您可以使用:

RewriteRule \.pdf$ - [F,NC] 

编辑:

Options -Indexes
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www\.)?myapp.dev/ [NC]
RewriteRule ((?!pdf).+)\.(gif|jpg|JPG|jpeg|png)$ - [F]