我需要在我的服务器中创建一条规则,当用户登录我的系统(moodle)时,将两个 url 流量重定向到另一台服务器。
我相信我需要的是创建一个proxyPass
规则ProxyReverse
和一个rerwiteRule
检查用户是否已登录的规则。像上面一样
RewriteEngine on
RewriteRule "^(.*)subdomain/(.*)$" "/moodle/mod/plugin/authCheck.php?file=$1" [L]
ProxyPass /playback https://remoteserver/playback
ProxyPassReverse /playback https://remoteserver/playback
ProxyPass /presentation https://remoteserver/presentation
ProxyPassReverse /presentation https://remoteserver/presentation
但它不起作用,甚至无法获得身份验证码。
我感谢任何帮助,甚至评论也能有所帮助。
答案1
也许这样会有帮助
RewriteCond %{LA-U:REMOTE_USER} !^$
根据http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond,该变量在用户通过身份验证后设置。我认为这只适用于 .htaccess/apache 身份验证方法。
我曾经遇到过类似的问题,但我用一个 php 脚本解决了它,我可以检查用户是否已登录。一个简单的 php标题命令 (http://php.net/manual/pl/function.header.php)解决了重定向问题。