Apache .htaccess-如果url包含

Apache .htaccess-如果url包含,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,在my.htaccess中,如果用户直接访问图像,则返回403,但允许在站点上显示图像。我读书就是为了达到这个目的 这是我的.htaccess RewriteEngine on RewriteCond %{HTTP_REFERER} !^http://(www\.)?myapp.dev/ [NC] RewriteRule \.(gif|jpg|JPG|jpeg|png)$ - [F] Options -Indexes 我接下来要做的是,如果url包含“pdf”(例如myapp.dev/pdf/

在my.htaccess中,如果用户直接访问图像,则返回403,但允许在站点上显示图像。我读书就是为了达到这个目的

这是我的.htaccess

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www\.)?myapp.dev/ [NC]
RewriteRule \.(gif|jpg|JPG|jpeg|png)$ - [F]
Options -Indexes
我接下来要做的是,如果url包含“pdf”(例如myapp.dev/pdf/stuff.png),我将不会使用或跳过此代码

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

也许我可以修改重写条件或重写规则,并添加一个条件


任何想法/备选方案都会有所帮助

要禁止.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]

要禁止.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]

我更新了我的问题,我为我的困惑道歉。你是说“如果请求的url是pdf.png或foo.pdf?如果请求的url是这样的:
myapp.dev/pdf/stuff.png
它给了我内部服务器错误:D我会调整你给我的,我感谢你的帮助@starkeen。对不起,我错了,我忘了删除前面的反斜杠。我更新了我的问题,我为混淆道歉。你的意思是“如果请求的url是pdf.png或foo.pdf?如果请求的url是这样的:
myapp.dev/pdf/stuff.png
它给了我内部服务器错误:D我会调整你给我的,我感谢你的帮助@starkeen。对不起,我的错误,我忘记删除了前面的反斜杠。”。