Secondo il tuo ragionamento, il browser si collega ha
http://exphp.altervista.org/pagina.html è il server dovrebbe inoltrare questa url in /index.php?url=pagina.
Non hai bisogno di un redirect (cambio di url nel browser) ma devi passare il contenuto di pagina.html nel /proxy.php?url=pagina.html (la pagina index.php lasciala perdere è crei la index.html).
Questo file .htaccess è posizionato nella cartella principale come anche i file html valutabili da passare tramite url al proxy.php
Codice:
RewriteEngine On
RewriteBase "/"
RewriteCond "%{REQUEST_URI}" "!!/$1"
RewriteRule "^([^/]+\.html)\??" "/proxy\.php?url=$1" [L,PT]
Con RewriteRule "^([^/]+\.html)\??" "/index\.php?url=$1" [L,PT] sto indicando che la stringa debba iniziare dal primo carattere è non può esserci lo slash ed è seguita da .html e un opzionale ? (query string). Mentre i flags di RewriteRule sono separati da una virgola PT in questo contesto è opzionale.
file pagina.html
codice proxy.php di esempio
Codice PHP:
<?php
if(!empty($_GET['url'])){
echo 'ciao1<br>';
echo file_get_contents($_GET['url']);
}
?>
Perché sarebbe normale salvare direttamente la pagina.html sul browser poiché è l'originale.
Si potrebbe provare anche ad includere il file indicato con la funzione include di php