-1
我在php
創造了一個公司網站,我需要創建到每一個成員他的個人資料頁面 喜歡Facebook的URL名稱PHP的分析與網址「mod_rewrite的」
www.mywebsite.com/my.name
不喜歡這樣的:
www.mywebsite.com/?profile_id=65497
有什麼想法?
我在php
創造了一個公司網站,我需要創建到每一個成員他的個人資料頁面 喜歡Facebook的URL名稱PHP的分析與網址「mod_rewrite的」
www.mywebsite.com/my.name
不喜歡這樣的:
www.mywebsite.com/?profile_id=65497
有什麼想法?
我asume你知道,這隻能做,如果你有一些源映射id名稱。 mod_rewrite
可以在查找表中查找字符串並將結果用於替換。
例如,假設您有一個包含id映射名稱的文件。
# Mapping of names to UserIDs
Bill.Gates 100
Barack.Obamaq 101
Arsan.Gamal 102
然後,您可以添加以下到你的Apache配置:
RewriteEngine On
RewriteMap UserIDs txt:/path/to/userids.txt
RewriteRule /(.*) /?profile_id=${UserIDs:$1|NOTFOUND} [PT]
現在,當一個請求到來的/Bill.Gates的/後的部分在正則表達式反向引用被捕獲,並用在userids.txt中查找一個值。這個值比你在替換中使用的要多。
還有其他的可能性。如果您的用戶名和ID存在於數據庫中,則可以在RewriteMap中使用數據庫查詢。 http://httpd.apache.org/docs/2.4/rewrite/rewritemap.html
什麼:你可以用RewriteMaps做什麼更多信息,以及如何做到這一點可以在這裏使用手冊中找到d但仍試圖 – ArsanGamal 2013-03-07 23:18:07
像[先前的研究(http://www.google.com /search?q=site:stackoverflow.com+php%20mod_rewrite%20user%20name%20instead%20of%20profile%20id)? – mario 2013-03-07 23:19:07
:)請注意,有一個名爲谷歌的網站。我發現這個:http://wettone.com/code/clean-urls – hek2mgl 2013-03-07 23:20:23