Ok, sto cercando di capire mod_rewrite ma alla fine mi confondo sempre con tutto ciò, quindi chiedo se qualcuno può aiutarmi con queste regole personalizzate.
La mia app Web utilizzerà 3 tipi di pagine che attualmente contengono questi URL:
url.com/index.php?user=name
è per i profili utenteurl.com/index.php?page=name
è per le pagine front-end (informazioni, contatti, ecc ...)url.com/index.php?dash=name
è per le pagine dell'area di accesso
Ma voglio che i primi 2 siano url.com/name
e il terzo essere url.com/dashboard/name
.
Immagino che per il user
e page
Dovrò prima verificare se la pagina esiste, quindi controllare i nomi utente e se non esiste nulla di tutto ciò, quindi restituire 404.
Come posso fare questo?
Grazie in anticipo :)
risposte:
0 per risposta № 1Questo tipo di regole personalizzate viene definito utilizzando Regex.
Controlla il tipo di pagina usando RewriteCond e definisci RewriteRule di conseguenza.
Sono disponibili informazioni complete Qui
0 per risposta № 2
Farai meglio ad avere 3 schemi URL:
- url.com/user/name
- url.com/page/name
- url.com/dashboard/name
Se questo è accettabile, devi abilitare mod_rewrite e .htaccess attraverso httpd.conf
e quindi inserisci questo codice nel tuo .htaccess
sotto DOCUMENT_ROOT
directory:
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]