Come potrei fare per creare un mod_rewrite che reindirizza a launch.php? I = / the / url / that / they / want?
-
03-07-2019 - |
Domanda
Quindi, se l'utente digita mydomain.com/dashboard , il documento che il server effettivamente li invia è /launch.php?i=/dashboard .
L'unica avvertenza è che vorrei lasciare richieste per
- / flags
- / persone
- / manifesti
- / css
- / icone
- / immagini
- / librerie
- / modelli
da soli, e dovrebbero richiedere la cartella attuale.
Come potrei creare un tale mod_rewrite?
Soluzione
Questo è il file .htaccess per il CakePHP Framework.
Sostituisci index.php e? url = per soddisfare le tue esigenze.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
Il "! - d " dice ad Apache di seguire le cartelle esistenti e "! - f " per seguire i file esistenti.
Tutto il resto viene canalizzato tramite index.php
Come suggerito in un commento, devi essere consapevole del fatto che se non funziona potrebbe essere perché mod_rewrite non è abilitato e non otterrai un errore che lo afferma, probabilmente avrai solo un HTTP 404.