2011-10-28 20 views
5

Tengo una url como esta.PHP URL Reescribir

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

de número de identificación sería igual a 4 Washington de número de identificación 5 sería igual a Denver de número de identificación 6 sería igual a Nueva York

Me gustaría que la url para ser reescrita como este.

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

¿Esto es posible?

¿Cómo podría hacerlo?

Respuesta

5

Tenga una mirada en mod_rewrite: http://httpd.apache.org/docs/current/mod/mod_rewrite.html

Se puede, por ejemplo, hacer, de esta manera:

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

Esto, por supuesto, dar lugar a una gran cantidad de reglas de reescritura si tiene mucho ciudades Por lo tanto, en mi humilde opinión una manera más inteligente sería volver a escribir la babosa URI para community.php y buscar el ID de algún tipo de base de datos:

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

HTH

+1

Creo que el primer ejemplo funcionará. Es una lista, no larga. Creo que stackoverflow debería permitir a las personas depositar dinero para créditos y créditos xfer a personas que responden con buenas/respuestas correctas (imho) –