Come potrei fare per creare un mod_rewrite che reindirizza a launch.php? I = / the / url / that / they / want?

StackOverflow https://stackoverflow.com/questions/158328

  •  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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top