Come ignorare l'accesso ai file php con mod_rewrite?

Ad esempio: www.example.com/about.php

Non voglio che i file con estensione .php siano disponibili per raggiungere, visualizzare invece una pagina 404.

Ho i file nella cartella principale: content.php about.php footer.php ecc … Ora posso raggiungere questi file digitando nella barra degli indirizzi. Voglio restringere questo.

Come lo posso fare?

Un approccio migliore che evita il sovraccarico e la complessità di mod_rewrite è semplicemente quello di non mettere i file che non si vogliono raggiungere dall'URL nella cartella radice . Puoi metterli da qualche altra parte e includerli da lì; semplice e (più) sicuro, ma per qualche motivo questo non sembra essere una conoscenza comune.

Una struttura di esempio potrebbe essere

project/ project/root project/lib 

Il tuo codice pubblico (ad es. Index.php) vivrebbe in project / root e questa sarebbe la radice del sito web. Il tuo codice incluso vivrebbe in project / lib può essere facilmente incluso usando require, include, ecc.

Nessun mod_rewrite. Molto semplice.

 RewriteRule \.php$ /path/to/page/404.html