設置如下:htaccess:如何防止遞歸重定向?
Wordpress和webmail客戶端安裝在同一個目錄下。的webmail客戶端可以訪問通過兩個網址:(在其中安裝的目錄)
www.server.com/webmail
www.server.com/wp-admin/admin.php?page=webmail-plugin
(A WordPress插件,顯示的webmail客戶端在wordpress管理器內的iframe中。)
現在我希望只能通過url www.server.com/wp-admin/admin.php?page=webmail-plugin
訪問webmail客戶端,並阻止任何直接訪問(從用戶)到www.server.com/webmail
。
換句話說:如果用戶試圖通過www.server.com/webmail
訪問webmail客戶端,它應該被重定向到www.server.com/wp-admin/admin.php?page=webmail-plugin
(這會強制用戶首先登錄)。但是,wordpress插件仍然必須訪問www.server.com/webmail
才能在iframe中顯示webmail客戶端。
可以通過.htaccess配置嗎?如果是這樣,怎麼樣?
有點背景信息: 我想這樣做是出於安全原因:WordPress的是通過各種手段保護,但webmail客戶端只支持基本身份驗證和防止任何問題與webmail客戶端的最簡單方法是將它隱藏在wordpress後面 - 即從非WordPress的界面(特別是不是登錄頁面)暴露出來。
編輯:爲什麼從/webmail
一個簡單的重定向到/wp-admin
不起作用:
的困難在於,WordPress和web郵件客戶端在同一主機上運行。當wordpress顯示webmail客戶端時,它也從www.server.com/webmail
加載它。因此,簡單地重定向到www.server.com/webmail
www.server.com/wp-admin/admin.php?page=webmail-plugin
將導致遞歸:
- 當網絡郵件界面應IFRAME內被顯示,WordPress的嘗試加載
www.server.com/webmail
。 - 但該請求被重定向回
www.server.com/wp-admin/admin.php?page=webmail-plugin
,,導致整個WordPress後端在iframe中顯示(嵌套)。 - 的嵌套 wordpress的後端再次嘗試顯示的webmail客戶機(1),其再次被重定向到的wordpress後端,等等....
可以遞歸問題可以通過固定的.htaccess?如果沒有,你還有什麼其他選擇?
您的建議是非常感謝。謝謝!
謝謝你的建議。簡單地從webmail文件夾重定向到wordpress會導致遞歸。我已經更新了相應的問題。 –