簡體   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