我對這個問題做了很多研究,我不是盲目地問,但我無法理解這個概念。所以我的網站包含一個index.php文件,通過ajax將數據加載到div中,所以頁面不會刷新,url也不會改變。我現在知道我需要鏈接到使用url重寫的某些內容。該網站包含帖子,所以例如所有帖子都從數據庫中提取,'site.com'是網址。但我希望能夠做'site.com/post-one',並有該鏈接去那個帖子。我想首先我需要追加一個變量到URL的末尾,當這個帖子的動態內容被加載,因此:site.com?post=1所以從那裏我可以使用URL重寫;我遇到的問題是這個。由於post 1的內容將被加載到一個div中,如果我去了這條路線,並且實現了URL重寫,site.com/post-1現在只需要動態地拉動數據,或者頁面必須是靜態的?是否可以在動態網站上進行網址重寫?
回答
你的問題是,這將需要使用散列,而不是GET變量(因爲GET需要頁面刷新,散列不)。這是通過在JavaScript中使用window.location.hash
變量完成的,該變量在#變化後(例如:如果我要將http://site.com/#lol
更改爲http://site.com/#lmao
,window.location.hash
將從#lol
更改爲#lmao
)更新。哈希常用於基於Ajax的導航網站,例如Twitter(我認爲Google也在實施它)。
如果您使用的是jQuery,您應該嘗試jQuery BBQ plugin,這將允許您執行諸如哈希變化檢測之類的操作(否則,您必須自己實現某種類似的引擎,因爲它將用於任何一種基於散列的導航)。
但是,您應該記住,這與mod_rewrite沒有任何關係,因此您不需要添加任何類型的重寫規則。您的所有工作(獲取數據等)都將通過Ajax XML HTTP請求完成,而不是通常的HTTP請求。
利用這一點,你可以讓你的URL看起來像http://site.com/#!/post/1
(這可以去你想要哪個格式,如http://site.com/#!/p/this-is-the-posts-title
),而不是http://site.com/?post=1
,雖然你會在http://site.com/post/1
丟失。
您使用mod_rewrite的想法看起來很合理。如果你使用了一個將URI的一部分作爲POST變量傳遞給你的index.php的rewrite指令,你能不能把一些代碼放到你的索引文件的頂部,它檢查這些數據,然後動態生成ajax以便轉儲divs?
例:
RewriteRule ^(.*)$ index.php?post=$1 [L]
的index.php:
<?php if (isset($_POST['post'])) { ?>
$.ajax({
**grab post content dump into div**
});
<?php } ?>
另外,不要忘記處理它之前清空您的$ _ POST數據。
啊,我想我明白了,所以我將不得不通過PHP創建動態url,這很好。然後,從我的例子中可以看出,如果用戶點擊一個鏈接,$ _POST將被設置,所以我可以運行ajax並以這種方式返回數據。所以從某種意義上說,它有點像一個靜態頁面。 – Naterade
- 1. 是否可以使用網站的網址在網站上運行javascript功能?
- 2. 網址在我的網站上重寫
- 3. 重寫動態網址
- 4. 是否可以從同一個網址運行多個網站?
- 5. 重寫舊網站的網址到新網站的網址
- 6. 是否可以動態更改網頁的網址?
- 7. 網址 - 重寫並顯示客戶動態網站
- 8. 是否可以在URL重寫頁面上執行Google網站優化?
- 9. 我可以在靜態網站上有動態網頁嗎?
- 10. 是否可以在DNN 5網站上編寫SSO Web服務?
- 11. 我是否可以在內部重寫網址,而不是在地址欄中更改網址?
- 12. 在.htaccess上重寫網址
- 13. URL重寫改變網站的網址
- 14. 重寫整個網站網址
- 15. 使用htaccess重寫舊網站網址
- 16. 是否可以在IIS上並行運行兩個網站?
- 17. 是否可以在本地模擬Azure網站進行測試?
- 18. 在php網站上使用htaccess重寫網址
- 19. 在WordPress Multisite中的所有網站上重寫網址
- 20. htaccess的重寫的動態網址
- 21. 使用.htaccess重寫動態網址
- 22. URL重寫節點js - 動態網址
- 23. 如何重寫動態網址?
- 24. htaccess重寫網址動態長度
- 25. 如何重寫我的動態網址
- 26. MOD-重寫的動態網址
- 27. .htaccess動態網址(舊網站)到magento中的靜態網址
- 28. 使用UrlRewriteFilter進行網址重寫
- 29. 使用htaccess進行網址重寫cPanel臨時網址
- 30. 是否可以使網頁網址與iFrame網址相同?
我想我要走你建議朱利安的路線,太棒了,謝謝! – Naterade
這很棒,祝你好運。 –