繁体   English   中英

重定向而不更改浏览器网址

[英]Redirect without changing the browser url

我有以下网址,

www.example.com/home.php and
 www.example.com/login.php

每当我从php重定向到这些页面中的任何一个时,浏览器的URL都应该保持www.example.com。

我已经尝试过,但是由于对mod_rewite的了解不足,我无法做任何事情。

请帮助,在此先感谢

如果要在登录后将页面保留为用户未登录时的相同URL(我们假设为www.example.com),这很容易:

在www.example.com中,它会加载index.php,因此我们应该更改index.php的内容。

当未登录的用户首次访问时,它具有以下内容:

include("htmls/index.html"); // index.html could contain whatever you like

但是您添加了此条件,上面的行在一个条件内:

if(isset($_POST['form-submit']))
{
   // do the login process and if success
   include("htmls/index_loggedin.html");
}
else if(is_user_logged_in()===true)
{
  include("htmls/index_loggedin.html"); // 
}
else
{
  include("htmls/index.html"); // means the user has not submitted anything and is also not logged in

}

上面的代码表明,如果用户已登录,请处理其登录信息,然后包括一个用于已登录用户的视图,如果该用户已经登录,则还将向他/她显示用于已登录用户的视图,否则,如果用户未登录,也未发送登录请求,则向他显示未登录用户的基本视图。 我假设您表单的提交按钮名为“表单提交”。

但是,以上命名只是为了清楚起见。 例如,您可以将index.html和index_loggedin.html合并为一个view_index.php,然后将主index.php的条件也复制到view_index.php。

最后要注意的是,您应该将代码和视图尽可能地分开。

您无法使用mod_rewrite做到这一点。 Apache应该如何知道您要home.php还是login.php? 您可能要使用AJAX在后台加载文件,然后显示内容。

当用户在页面之间导航时,应在页面布局中使用iframe html标记,以使浏览器的网址仍为www.example.com。 不重定向也不重写不适合这些目的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM