0

我这里有一个小问题,我一直在寻找并没有找到解决方案。

一旦我的用户登录,我想重定向我的页面,但我会将他们登录到安全服务器。我在 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一样,地址是内部的我不能放任何外部地址,因为问题会持续存在,这是我真正的问题,有什么办法可以在内部解决吗?

非常感谢您的帮助

提前致谢。

光盘

4

2 回答 2

0

给它你的 https 索引文件的完整 url:

echo "<meta http-equiv=Refresh content=5;url=https://YourHTTPSURL.com/index.php>";

编辑:

正如评论中所讨论的,您可以使用这样的 URL:

https://192.168.1.1:443/index.php
于 2013-03-04T06:41:40.900 回答
0

使用 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。您此时的主要重点是正确配置您的服务器。

于 2013-03-04T06:46:42.670 回答