设置如下: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会导致递归。我已经更新了相应的问题。 –