rewriterule rewriteengine mod_rewrite htaccess enable a2enmod php .htaccess mod-rewrite apache2

php - rewriteengine - .htaccess: las variables GET se pierden al reescribir



rewriterule htaccess apache (4)

Aparentemente, la reescritura de .htaccess se come todas las $_GET en mi página:

Cuando accedo a la URL http://192.168.1.1/welcome/test?getvar=true y var_dump($_GET) en mi archivo index.php, obtengo este resultado:

array ''/welcome/test'' => string '''' (length=0)

Entonces, no hay $_GET -data disponible y no hay signos de la getvar de mi URL.

Aquí está mi .htaccess:

RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?/$1 [L]

¿Qué debo cambiar para asegurarme de que mi reescritura funciona según lo previsto pero que las $_GET todavía son accesibles?


Necesita la opción "QueryString Append":

RewriteRule ^(.*)$ index.php?route=/$1 [QSA,L]

Edición: Se agregó la contribución de @ DonSeba, porque es correcta.


cambio menor de detalle:

RewriteRule ^(.*)$ index.php?/$1 [L]

a

RewriteRule ^(.*)$ index.php?route=$1 [QSA,L]

ahora todas las rutas serán visibles en $ _GET ["ruta"]



RewriteRule ^(.*)?(.*)$ index.php?/$1&$2 [L]