我这里有一个小问题,我一直在寻找但没有找到解决方案。
我想在用户登录后重定向我的页面,但我会将他们登录到安全服务器。我在 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 一样,地址是内部的,我无法输入任何外部地址,因为问题将持续存在,这是我真正的问题,有什么办法可以做到这一点内部?
使用 PHP 标头:
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 证书并配置您的网络服务器以从 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