mod_rewrite dovrei definire un prefisso di URL per le risorse?

1

Sto lavorando su un piccolo framework in cui ho questo albero delle directory:

project/
|--- ... (directories unrelated to the question)
|--- public/
|     |--- index.php
.htaccess

Il .htaccess invia ogni richiesta a project/public/index.php ma devo aggiungere regole specifiche per le risorse (fogli di stile, js, immagini, ...) .

Cercando molto Ho iniziato ad aggiungere una RewriteCond per estensioni specifiche come ho visto quasi ovunque, e RewriteRule per catturare parti dell'URL a partire da nomi di cartelle come css/ etc:

# Send front-end assets in the public directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} \.(bmp|css|gif|ico|jpe?g|js|png|tiff)$
RewriteRule ((css|js|img)\/.*\..*)$ public/$1 [L,QSA]

Ma ciò significa che definirei le estensioni consentite. E questo significherebbe anche che definirei un elenco specifico di sottodirectory consentite in public/ .

Non sono un esperto di mod_rewrite , ma ho solo pensato di definire un "prefisso delle risorse" che, se presente nell'URL, avrebbe riscritto il resto di l'URL della directory public .
URL di esempio:

                   | detect | rewrite to /public/$1
some_route_to_strip/_prefix_/any_custom_dir/any_file.ext
  • Dovrei evitare di farlo? Se sì, perché?
  • In caso contrario, è il modo di gestire le richieste ai file di asset. Ho quasi sempre trovato un buon modo per fare?
posta AymDev 01.11.2018 - 23:15
fonte

0 risposte

Leggi altre domande sui tag