2017-03-03 116 views
0

我遇到了問題,或者更好地說要如何做的疑問。根據點擊鏈接更改網址(Javascript html)

讓我們來解釋一下:我有一個網站類似於我寫文章的博客,它們顯示在主頁上。我希望每次點擊文章時,都會將我重定向到顯示文章內容的頁面。我將每篇文章的標題,日期,內容等都保存在數據庫中......我懷疑的是:我應該爲每篇文章創建一個.html文件,還是隻需要一個名爲「article.php」的文件,當我打開它時,它更改從數據庫獲取數據的內容?

第二個問題:我希望頁面的url根據點擊的文章改變。例如,我點擊名爲「今天和明天」的文章,我希望URL顯示爲「mysite/today-and-tomorrow /」,而不是「mysite/article.php」。 我對這個主題有點困惑,所以如果任何人都可以幫助我,我會很開心。 謝謝你的建議。

我已經試過

var link = 'www.example.com/training/product.html'; link.split('.html')[0]; window.history.replaceState(null, null, link);

但dinamically更改URL,等了幾秒鐘後,出現的原始URL,在我的情況下,它似乎「mysite的/ article.php」,然後它的變化在「mysite /今天和明天」中。我不認爲這是正確的。

我也試過

function openArticle(title){ 
     var rightTitle = $(title).text(); 
     rightTitle = rightTitle.toLowerCase(); 
     rightTitle = rightTitle.substring(rightTitle .indexOf(':')+2); 
     rightTitle = rightTitle.replace(/[^A-Z0-9]+/ig, "-"); 
     event.preventDefault(); 
     window.location.href = title.href + "/" + rightTitle; 

    } 

但是當我點擊的元素有關的「article.php」留在URL

+0

在href的一個tage打印動態url與php –

+0

你有什麼試過?問題應該有一個特定的問題,並顯示你迄今爲止的嘗試。目前你的問題對於stackoverflow的格式太寬泛了。 – Ilion

回答

0

我應該創建一個.html文件每篇文章或僅文件名爲「article.php」,當我打開它時,它會更改從數據庫獲取數據的內容?

不,你不需要。您可以將文章ID作爲「query string」傳遞給「article.php」,它將負責爲最終用戶提供適當的文章。

我希望頁面的URL根據我單擊的文章更改。例如,我點擊名爲「今天和明天」的文章,我希望URL顯示爲「mysite/today-and-tomorrow /」,而不是「mysite/article.php」。

您正在討論一個名爲「URL重寫」的功能,該功能可生成精彩的&有意義的URL。爲了實現它,你需要:

  1. 方式,也可以文章ID映射到其標題設計數據庫(創建別名)
  2. 您必須啓用網址在您的網頁重寫。服務器。 (例如,如果您使用Apache作爲Web服務器,則爲you need to enable mod_rewrite)。
  3. 您必須嵌入您的映射&路由漂亮的URL到原來的規則.htaccess文件中的規則。作爲樣品How to write htaccess rewrite rule for seo friendly url

我只是想幫助你的,你從來看&技術角度找什麼的總體思路,你知道它不可能涵蓋你所需要的信息只是一個單一的崗位。

+0

感謝您的回覆。我在apache的httpd.conf文件中啓用了mod_rewrite,但我現在要做什麼? – Andrea

+0

是你的article.php處理文章?誰寫了代碼? – NDFA

+0

article.php只包含被點擊的文章內容。我將所有文章的標題顯示在index.php中。我寫了所有的代碼 – Andrea