重定向而不更改浏览器 url

use*_*227 2 php regex .htaccess mod-rewrite apache2

我有以下网址,

www.example.com/home.php and
 www.example.com/login.php
Run Code Online (Sandbox Code Playgroud)

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

我试过了,但由于缺乏 mod_rewite 知识,我什么也做不了。

请帮忙,提前致谢

Mos*_*ebi 5

如果您想在登录后保留页面,在用户未登录时使用相同的 URL(我们假设为 www.example.com),这很简单:

在 www.example.com 它加载 index.php,所以我们应该更改 index.php 的内容。

没有登录的用户,先访问的时候有这个内容:

include("htmls/index.html"); // index.html could contain whatever you like
Run Code Online (Sandbox Code Playgroud)

但是你添加了这个条件,上面的行是在一个条件中:

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

}
Run Code Online (Sandbox Code Playgroud)

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

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

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