2016-08-19 37 views
2

道歉,如果我的標題不足以描述我的問題。重寫圖像路徑到另一個路徑,並拒絕所有原始路徑

我試圖通過使用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通過url /media-uploads/image.jpg

我想做的事情als o,將Deny from all應用於/wordpress/目錄。如果我添加它,它的工作原理是拒絕訪問,但它也會中斷圖像重寫,因此,向/media-uploads/image.jpg的請求會顯示403禁止頁面,因爲它應該在/wordpress/區域中顯示。

任何人都可以幫助我嗎?我有點鬆散。

謝謝。

+0

在'/ wordpress/wp-content/uploads /'目錄下有一個'Allow from all'行的'.htaccess'應該覆蓋'/ wordpress /' – apokryfos

+0

@apokryfos中的''.htaccess',這很棒,而且有些作品。但理想情況下,我希望圖片只能通過「/ media-uploads/image.jpg」訪問,不能通過「/ wordpress/wp-content/uploads/image.jpg」訪問。 – rorymorris89

回答

1

要阻止訪問一部開拓創新的URI,你可以使用你重寫規則

RewriteCond %{THE_REQUEST} /wordpress/wp-content/uploads/ [NC] 
RewriteRule^- [R=403,L] 

上述以下條件這將返回403錯誤給客戶,如果他們的請求/ WordPress的/可溼性粉劑內容/上傳/ foobar的