我这里有一个小问题,我一直在寻找,还没有找到解决方案。
我想重定向我的页面一旦我的用户已经登录,但我将他们登录到一个安全的服务器。我在apache上使用虚拟主机,所以一个是http页面,另一个是https服务器,用于安全加密连接。
在我的login。php中有这个
if( $usr->userLogin() ) {
echo "Welcome, now you can continue to our secure webpage. You will be automatically redirected in 5 seconds.....";
echo "<meta http-equiv=Refresh content=5;url=index.php>";
} else {
echo "Incorrect Username/Password, please try again.....";
echo "You will be automatically redirected in 5 seconds.....";
echo "<meta http-equiv=Refresh content=5;url=login.php?id=1>";
}}
但实际上我不想重定向到/var/www/http上的index.php文件,而是重定向到目录/var/www/https://
上的index.php文件这是我的问题,我已经尝试了很多东西,但没有什么会像
echo "<meta http-equiv=Refresh content=5;url=index.php>";
还有一个问题,我使用VPN连接到服务器,所以我不能像echo "<meta http-equiv=Refresh content=5;url=https://www.url.com>";
一样连接我无法进入DNS并解析名称,然后获得IP,就像它是一个VPN,地址是内部的,我不能输入任何外部地址,因为问题会持续存在,这是我真正的问题有没有办法在内部做??
非常感谢您的帮助
提前感谢。
CD使用PHP header:
header("location: <url>");
一样:
header("location: https://<etc>"); // redirect to different page but only if no other output has been generated
exit; // prevents further execution of code
请注意,您不能重定向到文件路径,而只能重定向到url。因此,如果你想提供HTTPS页面,你的网络服务器必须通过域名/url提供它。因此,您需要使用SSL证书并配置您的web服务器,以便从https目录中提供https(端口443)请求。
我希望这是有意义的;)
如果你想继续使用html重定向(也许如果你在html中使用重定向或者如果你不能使用php重定向):
echo "<meta http-equiv=Refresh content=5;url=https://<domain>/login.php?id=1>";
看到你对关于VPS的另一个答案的评论。您仍然需要配置服务器来处理对443 (ssl)端口的请求。即使你的服务器有一个动态IP或者你通过VPN连接,你也可以编辑你的vhosts文件,将某个(不存在的)域指向一个IP,即使它是一个本地的、网络的或VPN隧道的IP。此时,您的主要关注点应该是正确配置服务器。
给出https索引文件的完整url:
echo "<meta http-equiv=Refresh content=5;url=https://YourHTTPSURL.com/index.php>";
编辑:如注释所述,您可以使用如下URL:
https://192.168.1.1:443/index.php