2011-10-28 61 views
5

tôi có url như thế này.Viết lại URL PHP

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

cho id số 4 sẽ bằng Washington cho id số 5 sẽ bằng Denver cho id số 6 sẽ bằng New York

Tôi muốn url được viết lại như thế này.

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

là điều này có thể?

Tôi sẽ làm như thế nào?

Trả lời

5

Có một cái nhìn tại mod_rewrite: http://httpd.apache.org/docs/current/mod/mod_rewrite.html

Bạn có thể, ví dụ, làm điều đó như thế này:

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

này sẽ, tất nhiên, dẫn đến rất nhiều quy tắc viết lại nếu bạn có nhiều các thành phố. Vì vậy, cách một IMHO thông minh hơn sẽ được viết lại sên URI để community.php và tra cứu ID từ một số loại cơ sở dữ liệu:

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

HTH

+1

tôi nghĩ rằng ví dụ đầu tiên sẽ làm việc. Danh sách của nó, không phải là một danh sách dài. Tôi nghĩ rằng stackoverflow nên cho phép mọi người đưa vào các khoản tín dụng và tín dụng xfer cho những người trả lời với câu trả lời đúng/đúng (imho) –

Các vấn đề liên quan