2011-04-27 23 views
8

no puede volver a escribir para incluir dos parámetros, pero el último parámetro es opcional, así por ejemplo:RewriteRule - dos parámetros, pero último parámetro es opcional

http://www.mywebsite.com/friends/jamie - (la barra inclinada debe ser opcional también). Que debe ser el mismo que esto:

http://www.mywebsite.com/friends.php?name=jamie 

Cuando se incluye un segundo parámetro

http://www.mywebsite.com/friends/jamie/30 - Debe ser el mismo que esto:

http://www.mywebsite.com/friends.php?name=jamie&page=30 

Esta regla no lo hace trabajo:

RewriteRule ^friends/(.*)/(.*)$ friends.php?name=$1&page=$2 

Porque obtengo esto: The requested URL /friends/jamie was not found on this server. pero funciona si incluyo un número de página para el segundo parámetro, así que básicamente el segundo parámetro debería ser opcional.

Respuesta

17

Intente utilizar esta regla en su lugar:

RewriteRule ^friends/([^/]*)/?(.*)$ friends.php?name=$1&page=$2 

Espero que ayude

+0

que funcionó. Gracias. :-) – MacMac

+1

4 años después: gracias, me has salvado el día. –

+0

5 años después. Muchas gracias :) –

Cuestiones relacionadas