Rewriterule: dos parámetros pero el último parámetro es opcional
-
25-10-2019 - |
Pregunta
No puedo reescribir para incluir dos parámetros, pero el último parámetro es opcional, así que por ejemplo:
http://www.mywebsite.com/friends/jamie - (La barra de avance también debe ser opcional). Que debería ser lo mismo que esto:
http://www.mywebsite.com/friends.php?name=jamie
Cuando incluye un segundo parámetro
http://www.mywebsite.com/friends/jamie/30 - Debería ser lo mismo que esto:
http://www.mywebsite.com/friends.php?name=jamie&page=30
Esta regla no funciona:
RewriteRule ^friends/(.*)/(.*)$ friends.php?name=$1&page=$2
Porque entiendo 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, por lo que básicamente el segundo parámetro debe ser opcional.
Solución
Intente usar esta regla en su lugar:
RewriteRule ^friends/([^/]*)/?(.*)$ friends.php?name=$1&page=$2
Espero que ayude
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow