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 usuariourl.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 № 1Este 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:
- url.com/user/name
- url.com/page/name
- 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]