在php中使用meta重定向,但文件在另一个文件夹中


Using meta to redirect in php, but file is in another folder

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

我想重定向我的页面一旦我的用户已经登录,但我将他们登录到一个安全的服务器。我在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