.htaccess: переменные GET теряются при перезаписи

По-видимому, мой .htaccess переписывает все $_GET переменные на моей странице:

При обращении к URL-адресу http://192.168.1.1/welcome/test?getvar=true и запуску var_dump($_GET) в моем файле index.php, я получаю этот вывод:

  • .htaccess исправить довольно постоянную ссылку в PHP?
  • Обрабатывать запросы $ _GET с чистыми URL-адресами
  • Внутренняя ошибка сервера CodeIgniter 500
  • Как загружать классы на основе симпатичных URL-адресов на странице MVC?
  • Перенаправление URL-адресов, не относящихся к WWW-WWW
  • .htaccess сократить URL-адрес, используя php $ _GET
  •  array '/welcome/test' => string '' (length=0) 

    Таким образом, нет доступных $_GET -data и никаких признаков getvar -variable из моего URL-адреса.

    Вот мой .htaccess:

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

    Что мне следует изменить, чтобы убедиться, что мой переписывающий файл работает по назначению, но все еще доступны переменные $_GET ?

  • Обработка HTML-файлов, таких как PHP
  • mod_rewrite, php и файл .htaccess
  • Обрабатывать запросы $ _GET с чистыми URL-адресами
  • .htaccess rewriterule не работает правильно на mac
  • Seo Friendly Url css img js не работает
  • htaccess доступ к файлу по ip-диапазону
  • 4 Solutions collect form web for “.htaccess: переменные GET теряются при перезаписи”

    Вам понадобится опция «QueryString Append»:

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

    Редактировать: Добавлен вклад @ DonSeba, потому что он правильный.

    незначительное изменение детали:

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

    в

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

    теперь все маршруты будут видны в $ _GET ["route"]

     RewriteRule ^(.*)?(.*)$ index.php?/$1&$2 [L] 
     <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^myapi(.*) ./my_real_api_file.php? [QSA] </IfModule> 

    Это трюк для меня.

    Теперь вы можете запросить: http://www.mydomain.com/myapi?foo=xy&bar=ab

    и будет перенаправлен на: http://www.mydomain.com/my_real_api_file.php?foo=xy&bar=ab

    Может быть довольно полезно скрыть ваш код api.

    PHP is the Best Programming Language in the world.