2011-11-02 158 views
0

我正在製作一個頁面,其中的內容是動態的,但直到現在我只能夠得到我想要的頁面與變量,如(使用計算器作爲一個例子):https://stackoverflow.com/questions?q=7980734動態網址並將標題添加到頁面末尾url

但作爲計算器看到他們有它作爲

https://stackoverflow.com/questions/7980734/dynbamic-url-and-adding-a-the-title-to-the-end-of-the-page-url 

我只是想知道他們是如何做這樣的(使用/),而無需創建每個問題的單個頁面。

以及它們如何將標題添加到URL的末尾而不創建新的目錄。 也就是說,如果您在

https://stackoverflow.com/questions/7980734/ 

鍵入它還是會把你的問題,然後將添加標題。

謝謝你的幫助!

回答

1

使用.htaccess文件重寫大部分的時間一定URL的時候都要求就足夠了。例如計算器可能會使用這樣的:

RewriteEngine on 
RewriteRule ^questions/([0-9]+)/([_\-\&\'\,\+A-Za-z0-9-]+)?$ questions.php?q=$1 

這將使雙方stackoverflow.com/questsions/1234/a-title-of-a-page和stackoverflow.com/questions.php?q=1234的相同的頁面,所以在您的網站上,您需要使用URL的「整潔」版本(第一個)。

還可以閱讀更多內容,並且可以自定義您的URL以滿足您的需求。例如,一些地方讀了它包括:

http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

http://www.easymodrewrite.com/

+0

好吧,我得到stackoverflow.com/questsions/1234 poart,但我如何從網頁的標題從數據庫中,並把它放在網址中...我不清楚將如何發生 – ShadowZzz

+0

也,當我這樣做...風格不再出現在網頁上...最新錯誤? – ShadowZzz

+0

可能會導致您設置了樣式表的相對路徑(也可能是頁面上的鏈接,js文件等)。如果您使用「/」開始鏈接到所有文件,那麼它將從網站的根目錄開始。 – Nick

1

這被稱爲URL重寫,基本上你有一個解釋在未來的URL處理程序,這並不意味着它是「精確」的目錄結構,只是綱領性路徑「東西」。

服務器端,它有例如/questions/ scrips可能是腳本/文件/應用程序,接受ID 7980734dynamic-url-and-adding-a-the-title-to-the-end-of-the-page-url

很容易友好的URL鏈接,你不必使用數字ID對在數據庫中查找記錄,只是使用文本,使其URL安全(PHP功能)。

+0

你好,謝謝你的回答......如果我有http://domain.com/view.php? 123456,我想要http://domain.com/view/123456/Question名稱/我該怎麼辦?我對.htaccess不太好,所以任何幫助都不勝感激。 – ShadowZzz

0

你必須請求使用啓用mod_rewrite在項目的.htaccess中啓用它。另外,您必須查看apache配置httpd.conf並檢查是否添加了mod_rewrite。因此,您可以將所有流量定向到項目中的URL解析器。 除此之外,你必須有一個在你的應用程序控制器,你在哪裏得到的URL字符串,並確定URL和參數控制文件的邏輯。

看看這裏:http://httpd.apache.org/docs/current/mod/mod_rewrite.html以獲取更多信息。