/ / Reglas de .htaccess personalizadas para la aplicación web - .htaccess, mod-rewrite

Reglas de .htaccess personalizadas para la aplicación web - .htaccess, mod-rewrite

Ok, estoy tratando de entender mod_rewrite pero termino siempre confundido con todo esto, así que estoy preguntando si alguien puede ayudarme con estas reglas personalizadas.

Mi aplicación web utilizará 3 tipos de páginas que actualmente tienen estas URL:

  • url.com/index.php?user=name es para los perfiles de usuario
  • url.com/index.php?page=name es para las páginas front-end (sobre, contacto, etc ...)
  • url.com/index.php?dash=name es para las páginas del área de inicio de sesión

Pero quiero que los dos primeros sean url.com/name y el tercero para ser url.com/dashboard/name.

Supongo que para el user y page Primero tendré que verificar si existe la página, luego verificar los nombres de usuario y si no existe nada de esto, devuelva 404.

¿Cómo puedo hacer esto?

Gracias por adelantado :)

Respuestas

0 para la respuesta № 1

Este tipo de reglas personalizadas se definen utilizando Regex.

Verifique el tipo de página usando RewriteCond y defina RewriteRule en consecuencia.

La información completa está disponible. aquí


0 para la respuesta № 2

Será mejor que tengas 3 esquemas de URL:

  1. url.com/user/name
  2. url.com/page/name
  3. url.com/dashboard/name

Si eso es aceptable, entonces necesita habilitar mod_rewrite y .htaccess a través de httpd.conf y luego ponga este código en su .htaccess debajo DOCUMENT_ROOT directorio:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /webapp/

RewriteRule ^user/(.+?)/?$ index.php?user=$1 [L,QSA,NC]

RewriteRule ^page/(.+?)/?$ index.php?PAGE=$1 [L,QSA,NC]

RewriteRule ^dashboard/(.+?)/?$ index.php?dash=$1 [L,QSA,NC]