Vorrei fare in modo che l'indirizzo dominio.av.org/en/pagina.php punti all'indirizzo dominio.av.org/redirect.php?redirect=pagina.php così che la pagina realmente utilizzata è dominio.av.org/pagina.php (redirect.php non fa altro che:
Codice PHP:
<?include $_GET['redirect'];?>
mentre la distinzione tra i due indirizzi è fatta, come desumibile, all'interno della pagina stessa.)
Vorrei anche fare in modo che il redirect fosse completamente trasparente all'utente, anche nel caso di richieste GET, ma è qui che ho i problemi.
Esempio:
La pagina /redirect.php?redirect=pagina.php&a=b non viene richiamata da /en/pagina.php?a=b come sarebbe più "normale", mentre se scrivo /en/pagina.php&a=b funziona perfettamente.
Allora ho provato a reindirizzare nel modo voluto, ma se ci provo /en/pagina.php?a=b viene riscritto come /pagina.php?a=b&a=b&a=b&a=b&a=b...
Non sono molto esperto di .htaccess, il codice che sto utilizzando è il seguente:
Codice:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !=dominio.av.org
RewriteRule (.*) http://dominio.av.org/$1
RewriteRule ^en/$ redirect.php?redirect=index.php
RewriteRule ^en/([^\?]+)$ redirect.php?redirect=$1
# fin qua nessun problema
RewriteCond %{REQUEST_URI} !/redirect
RewriteRule ^en/([^\?]+)\?(.*)$ redirect.php?redirect=$1&$2 [L]
EDIT
Ho risolto il problema in tutt'altro modo. Nell'htaccess ho scritto semplicemente
Codice:
RewriteRule ^en/(.*)$ $1
e il resto lo gestisco nella pagina chiamata. (era più facile di quanto sembrava)