2013-10-07 20 views
0

我想在地址欄中只顯示域名。我是新編程nd使用核心php。 我的.htaccess代碼:只想在地址欄中顯示域名並隱藏所有頁面名稱和查詢字符串

 <IfModule mod_rewrite.c> 
     RewriteBase/
     Options +FollowSymlinks -MultiViews 
     RewriteEngine on 
     # to make `/path/index.php` to /path/ 
     RewriteCond %{THE_REQUEST} ^GET\s(.*/)index\.php [NC] 
     RewriteRule . %1 [NE,R=301,L] 
     RewriteCond %{THE_REQUEST} ^GET\s.+\.php [NC] 
     RewriteRule ^(.+)\.php$ /$1 [NE,R=301,L,NC] 
     RewriteCond %{REQUEST_URI} !\.php$ [NC] 
     RewriteCond %{REQUEST_FILENAME}.php -f 
     RewriteRule . %{REQUEST_URI}.php [L] 
     </IfModule> 

,這是工作正常,但它顯示了這樣的 http://mysite.com/about http://mysite.com profile_view結果名稱= Apoorva%20Chauhan%20GMAIL%20 & &%20user_type =用戶

我只想隱藏完整的網址,期望我的域名。網址應該是這樣www.mysite.com/無論我點擊哪個鏈接。 及以上的代碼只能完全隱藏index.php。 我的項目截止日期已經結束,我在這個主題上浪費了一週的時間。但我失敗了。 請幫幫我。 提前致謝。

+1

一個不可能的任務,除非你使用一個單一的PHP文件,並將開始POST的價值回到index.php爲每個鏈接...它也是無法訪問,不可收藏和可疑的做法... –

+0

也許你可以嘗試阿賈克斯。不需要重寫。這將是完全堅果雖然 – 2013-10-07 13:11:37

+0

使用框架來顯示內容 – Reeno

回答

2

我用javascript來隱藏或更改整個網址。現在它工作正常。但我並不完全滿意。

<script type='text/javascript'> 
    if(history.replaceState) history.replaceState({}, "", "/"); 
    </script> 

注意:其中/是您要顯示的路徑。

它顯示urlmysite.com無論我點擊了哪個鏈接。但我有這個代碼的問題,同時重新加載頁面完整url與查詢字符串閃爍地址欄。

+0

我試過這個工作,但問題是當我刷新頁面。它給我一些錯誤。或將我重定向到目前在地址欄中的網址。 –

+0

有沒有解決這個重新加載問題的方法? – Jerry

0

我認爲(不知道從描述)你想要的是一個單一的網頁。如果是這樣的話,那麼你接近這一切都是錯誤的。這不是通過.htaccess實現的,而是通過js/ajax實現的。你可以找到here這樣一個Web應用程序的例子。

+0

有效點,沒有想到,雖然從示例網址提供OP不太可能要求單頁設計解決方案 –

+0

不,它不是一個單一的網頁,它就像一個社交網站。 –

+0

@Apoorv Chauhan:我不是指「單一頁面」,因爲在網站上只顯示一件事。我的意思是說,你的網絡應用的每個功能都在同一個網址上。只要看一下這個例子,你就會了解更多。 – 2013-10-07 13:16:10

2

使用document.location.replace('URL');

瀏覽器將不能建立一個歷史, ,將只顯示基地http://URL/# 無論網站內的網頁。

+0

我試過這個工作,但問題是當我刷新頁面。它給我一些錯誤。或將我重定向到目前在地址欄中的網址。 –

相關問題