2012-09-15 86 views
1

我有一個網站,說www.example.com(不是真正的名稱)。 在這個網站我有從網址隱藏首頁和索引頁名稱

的index.php和home.php(第一 頁網站登錄後)

由於我的DirectoryIndex index.php文件(登錄之前網站的第一頁)(以.htaccess),index.php不會出現在地址欄中。但是,當登錄時,它顯示home.php作爲鏈接的一部分。

不要想要在url顯示「home.php」。我正在考慮在.htaccess中使用一些url重寫規則,但我被卡住了。

有沒有簡單的解決方案呢?

請讓我知道如果你們需要任何其他系統/服務器相關的信息,如果需要的話。

//編輯 我從facebook.com得到了這個想法。

+1

最簡單的方法,恕我直言,是有單登陸頁面index.php,它應該包括public.php或private.php(你的情況下爲home.php),取決於登出/登錄狀態。 – Stan

+0

我看到了所有的答案,但@Stan你的解決方案正是我想要的。 :) – Abhishek

+0

請確定...... :) – Abhishek

回答

1

最簡單的方法,恕我直言,是有根據的註銷/登錄狀態下的着陸頁上index.php,其中應包括(在你的情況home.phppublic.phpprivate.php

2

做這種事情的一種方法是在你的PHP腳本中使用某種控制器。檢查腳本的開始部分,看看是否已登錄並根據答案,需要相應的代碼。你不需要.htaccess這樣的事情!

您可以隨時使用簡單的重定向將您的home.php重命名爲更好聽起來像/home

RewriteRule ^home/?$ home.php [NC,L] 

這會在瀏覽到yoursite.com/home時顯示home.php頁面。很明顯,即使沒有登錄,這也是可以訪問的,但是你似乎暗示你沒有計劃在沒有登錄的情況下顯示鏈接!

0

正如您所提到的,使用網絡服務器重定向只會是一種解決方法。

你的問題是PHP腳本本身。它當然不知道你的URI設置和DirectoryIndex文件,因此使用home.php作爲URL目標。

所以,你有兩種選擇:

  • 使Web服務器重定向/home.php/
  • 調整你的PHP腳本,指向home.php
  • 調整你的PHP腳本時加載home.php檢查,如果URI是/home.php,然後重定向到/

很難說最好的選擇是什麼。但是你的URI設置(目錄索引)比你的php文件名更有可能改變。因此,我會去網絡服務器配置 - 303 redirect/

0

試試這個index.php頁面上

<?php require('home.php');? 

其中home.php是該URL的主頁(當然沒有的qoute)