作爲每個用戶鏈接的標準GET查詢對用戶和搜索引擎來說很容易但很難看。PHP中每個用戶的自定義鏈接
// This looks UGLY
website.com/index.php?userid=43232
//This is what I want
website.com/coolUser
如何爲每個用戶製作一個自定義鏈接,而無需一直創建文件夾?
作爲每個用戶鏈接的標準GET查詢對用戶和搜索引擎來說很容易但很難看。PHP中每個用戶的自定義鏈接
// This looks UGLY
website.com/index.php?userid=43232
//This is what I want
website.com/coolUser
如何爲每個用戶製作一個自定義鏈接,而無需一直創建文件夾?
簡單的方法,使URL那樣,使用的.htaccess(創建.htaccess文件並上傳到您的public_html/wwwdir)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9a-zA-Z-]+)/?$ index.php?userid=$1 [L]
現在,您可以訪問http://yoursite.com/43232或http://yoursite.com/index.php?userid=43232
它被稱爲「路由」。您可以與本文開頭:http://www.phpaddiction.com/tags/axial/url-routing-with-php-part-one/
你提到的叫做「clean URL」,你需要在Apache配置中需要一些所謂的「mod-rewrite」功能。
謝爾蓋和祖爾克里指導你與他們的意見。你也可以看看下面的鏈接: http://wettone.com/code/clean-urls
但不要忘記你可能會看到你的問題,你的CSS,JS和圖像文件。但他們也有自己的解決方案。如果你遇到這些問題,你可以找到它們。
我必須安裝'mod-rewrite'或設置它嗎?我完全按照你所說的做了,我也從網上做了一些例子,但沒有任何作用。當我訪問http://yoursite.com/index.php?userid=43232時,它可以正常工作,但是當我訪問http://yoursite.com/43232時,它顯示'找不到對象!'。 – NoobDev4iPhone 2011-12-29 05:26:59
是的,你應該在apache配置中啓用mod重寫。 – 2011-12-29 05:30:00
對不起,我剛剛意識到我拼錯了文件名。非常感謝! – NoobDev4iPhone 2011-12-29 05:31:06