2011-10-28 96 views
5

我有這樣的網址。PHP URL重寫

http://www.somesite.com/community.php?id=4 

的ID號4就等於華盛頓 的id號5就等於丹佛 的身份證號碼6應等於紐約

我想的URL像這樣被改寫。

http://www.somesite.com/washington for id = 4 
http://www.somesite.com/denver for id = 5 

這是可能的嗎?

我該如何去做呢?

回答

5

看一看mod_rewrite的:http://httpd.apache.org/docs/current/mod/mod_rewrite.html

可以,例如,像這樣做:

RewriteEngine on 
RewriteRule washington community.php?id=4 [L,QSA] 
RewriteRule denver community.php?id=5 [L,QSA] 

這當然導致重寫規則很多,如果你有多大城市。因此,一個恕我直言更聰明的辦法是重寫URI塞來community.php從某種數據庫中查找的ID:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCOnd %{REQUEST_FILENAME} !-d 
RewriteRule /?([a-z-]+) community.php?city=$1 [L,QSA] 

HTH

+1

我認爲第一個示例將工作。它的名單不是很長。 我認爲stackoverflow應該允許人們把信用和xfer信用放入那些回答良好/正確答案的人(imho) –