• User Attivo

    RewriteCond che verifichi non se il file esiste, ma esiste dopo la riscrittura url

    RewriteCond -f è indubbiamente utilissimo, ma il problema è che i miei file sono trovati dagli utenti come NomeFilm.htm mentre il vero file è NomeFilm.php quindi temo che -f direbbe sempre che il file non esiste...

    Esiste una soluzione che dica ad apache: prima esegui il rewrite dell'url, poi vedi se c'è o meno il file?


  • User Attivo

    Faccio prima a esporvi il problema.

    Ho 400 file di questo tipo (vedi sotto).
    2 cavalieri a Londra.php
    2 Fast and 2 Furious.php

    Vorrei utilizzare il database e lasciare un unico file film.php, Purtroppo sparsi in mezzo a questi ho anche file di altro genere quindi la soluzione classica quella banale non è adatta.

    Quel che voglio ottenere è:
    2 cavalieri a Londra.php -> film.php?title=2 cavalieri a Londra

    Ma non deve farlo se il file chiamato è:
    Elenco_Film_Recensiti.php -> Elenco_Film_Recensiti.php

    O vado per esclusione di singoli url, o gli do la lista dei 400 da trasformare o trasformo tutto e agisco poi da php (ma se riesco a farlo in htaccess salto un livello...).


  • Super User

    ciao gik 😄

    scusami per il ritarto nella risposta, ma è da ieri che ci ragiono sopra :lol:

    Options +followSymLinks
    RewriteEngine On
    
    RewriteCond %{SCRIPT_FILENAME} !-f 
    RewriteRule ^([^/]+)\.php$ film.php?title=$1
    

    se il file PHP non esiste applica la regola
    se esiste lo richiama

    a occhio non funzionerà su aruba 😉