/ / El significado de ? y $ en la regla de reescritura de htaccess - .htaccess, mod-rewrite, url-rewriting

El significado de ? y $ en la regla de reescritura de htaccess - .htaccess, mod-rewrite, url-rewriting

Conozco la regla básica de reescritura en el archivo .htaccess. pero no puedo encontrar el significado de resaltado ? y $:

RewriteRule ^ ([a-zA-Z]) /?([a-zA-Z])?/?([a-zA-Z0-9] *)?/?$ index.php? controller = $ 1 y acción = $ 2 y id = $ 3 [NC, L]

Código de la regla formateada:

RewriteRule ^([a-zA-Z]*)/?([a-zA-Z]*)?/?([a-zA-Z0-9]*)?/?$ index.php?controller=$1&action=$2&id=$3 [NC,L]

Alguien puede decir lo que usaron aquí. Lo estoy intentando, pero no puedo encontrarlo en ninguna parte. Cualquier ayuda sería muy apreciada.

Respuestas

2 para la respuesta № 1

Esta pregunta es más de expresiones regulares en lugar de una .htaccess. Déjame intentar responder:

  • ? en regex significa 0 o 1 coincidencia o para hacer algo un Opcional partido
  • $ es el anclaje final en expresiones regulares que significa el final de la entrada.

Su regla de reescritura parece estar haciendo ambos action y id los componentes son opcionales y esta regla permite una barra diagonal al final de la bonita URI.