2016-04-14 12 views
1

我的網站同時使用PHP和JS AJAX,所以我對它們都很熟悉,而且我不想要包含它們的解決方案。我有這個頁面結構,我的所有用戶只停留在一個登陸php頁面上,然後根據URL的p變量獲取正確的內容。HTML刪除網址變量,無PHP或JS解決方案

http://www.example.com/?p=about 
http://www.example.com/?p=aMap-anothermap-evenAnothermap-lastelyTheFile 

此頁面的結構,只是我不知道正確的方法,使一個鏈接,只是刪除了整個?p=home爲我的偉大工程。因爲我希望我的家庭/起始頁面是免費的。我想這是

http://www.example.com/ 

而不是

http://www.example.com/?p=home 

現在我可以只作鏈接

http://www.example.com/? 

然後只需用JS pushState()刪除?,但會看很愚蠢,只會爲JS用戶工作。

比方說,我想要做的只是?上面的例子,然後我可以創建一個這樣的鏈接。

<a href="?">Link</a> 
<script src="SomeCoolPushStateScript"></script> 

我從經驗中知道,這甚至不工作:

<a href="">Link</a> 

所以來這裏的問題:如何使用HTML href當我刪除了某個URL的一部分?variable=something

回答

2

路徑./應該做的伎倆。

<a href="./">Link</a> 

如果您想保留主腳本的名稱,如index.php,你必須包括該名稱。

<a href="index.php">Link</a> 

或者,您可以使用PHP動態生成域相對或絕對URL。

+1

對於OP的具體問題,我認爲'href =「/」'甚至'href =「www.example.com/」'也可以。 –

+1

@Andrew您需要爲第二個添加'//','http://'或'https://',但是,假設它位於網站的根目錄。 –

+0

'Link'爲我做了,非常感謝! –

1

你不需要使用querystrings。

<a href="/">Link</a> 

將轉到example.com的根目錄。我不推薦使用"./"。如果用戶位於網站根目錄中的某個頁面上(例如http://www.example.com/page.html),則可以按照您的要求進行操作。但是,如果它們位於子目錄中的頁面上,則這不起作用。例如。如果用戶的http://www.example.com/hello/page.html,它只會鏈接到http://www.example.com/hello/。使用"/"確保用戶轉到您網站的根目錄。

+0

噢好吧,我試過了,它沒有工作,但這可能是因爲我的網站目前不在我的apache測試服務器的根目錄。 –

+0

URL上的?variable = value擴展名稱爲查詢字符串? –

+2

@JohanSundman我會爲Punit回答,並說是,這是一個查詢字符串。 –