如果我的标题不足以描述我的问题,请道歉。
我正在尝试使用htaccess Deny from all
锁定对网站某个部分(管理区域)的访问权限。这个被拒绝的区域内的资产仍然需要在前端访问,所以我有一些重写工作,直到添加Deny from all
。
我的图片居住在这里:/wordpress/wp-content/uploads/
但我希望可以从这里访问它们:/media-uploads/
我使用了以下htaccess代码,效果很好:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^media-uploads/(.*\.(jpg|jpeg|gif|bmp|png))$ wordpress/wp-content/uploads/$1 [L]`
通过上述内容,我可以通过网址/wordpress/wp-content/uploads/image.jpg
/media-uploads/image.jpg
我还想做的是将Deny from all
应用于/wordpress/
目录。如果我添加它,它通过拒绝访问来工作,但它也会破坏图像重写,因此对/media-uploads/image.jpg
的请求会向我显示/wordpress/
区域中的403禁止页面。
任何人都可以帮助我吗?我有点松散了。
感谢。
答案 0 :(得分:1)
要阻止访问orignal uri,您可以在RewriteRule上方使用以下条件
RewriteCond %{THE_REQUEST} /wordpress/wp-content/uploads/ [NC]
RewriteRule ^ - [R=403,L]
如果客户请求/ wordpress / wp-content / upload / foobar,这将向客户返回403错误