Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

mod_rewrite + GET

333
24 марта 2008 года
GHopper
200 / / 28.12.2004
Здравствуйте!
При использовании модуля Apache mod_rewrite, GET-переменные теряются. Но мне было-бы удобно использовать одновременно mod_rewrite и GET-переменные. Есть-ли такая возможность?

Более подробно:
//.htaccess
RewriteRule ^([.*]+) ? [C,E=page:$1]

//index.php
var_dump($_SERVER["REDIRECT_page"]);
var_dump($_GET);
exit;

Теперь натравливаю браузер на этот скрипт
http://domen/page?get_par=1

$REDIRECT_page = page
$GET = array{0}

т.е. параметры, переданные после "?" вообще теряются!
353
24 марта 2008 года
Nixus
840 / / 04.01.2007
 
Код:
RewriteRule .? index.php [L]

И не нужно мучать голову.
92
24 марта 2008 года
Тень Пса
2.2K / / 19.10.2006
есть еще такая прекрасная фишка (флаг) [QSA] вот её и пользуй, с каким-нибудь твоим мега-правилом

http://htaccess.net.ru/doc/mod_rewrite/RewriteRule.php
304
24 марта 2008 года
Fenyx
707 / / 26.01.2005
Цитата: GHopper
Здравствуйте!
При использовании модуля Apache mod_rewrite, GET-переменные теряются. Но мне было-бы удобно использовать одновременно mod_rewrite и GET-переменные. Есть-ли такая возможность?

Более подробно:
//.htaccess
RewriteRule ^([.*]+) ? [C,E=page:$1]

//index.php
var_dump($_SERVER["REDIRECT_page"]);
var_dump($_GET);
exit;

Теперь натравливаю браузер на этот скрипт
http://domen/page?get_par=1

$REDIRECT_page = page
$GET = array{0}

т.е. параметры, переданные после "?" вообще теряются!


вот мой вариант не претендую на ... кароче
RewriteEngine on
#RewriteRule ([^.]*)$ $1/ [R]
RewriteRule (.*)/$ index.php?sub=$1&site_host=%{HTTP_HOST}&get=%{QUERY_STRING}
RewriteRule (.*)\.html$ index.php?page=$1&site_host=%{HTTP_HOST}&get=%{QUERY_STRING}



в пхп
//Выбираем GET запросы/ апачь херит только один - первый
$get=explode("=", $_GET['get']);
$_GET[$get[0]]=$get[1];
unset($get);
unset($_GET['get']);
//Выбираем GET запросы

333
25 марта 2008 года
GHopper
200 / / 28.12.2004
Цитата: Тень Пса
есть еще такая прекрасная фишка (флаг) [QSA] вот её и пользуй, с каким-нибудь твоим мега-правилом

http://htaccess.net.ru/doc/mod_rewrite/RewriteRule.php



твоя правда! Флаг QSA решает проблему.

92
25 марта 2008 года
Тень Пса
2.2K / / 19.10.2006
Цитата: GHopper
твоя правда! Флаг QSA решает проблему.


"нет, что ты.. я просто прикололся...." ;)

15
25 марта 2008 года
shaelf
2.7K / / 04.05.2005
Почти полностью согласен с Nixus, т.к. в этом случае довольно просто рулить через роутеры ссылками (такой гибкости от htaccess не добъёшся). Единственное, что я делаю, это пропсываю строго форматы файлов, к которым можно обращатся напрямую... В качестве примера...
 
Код:
php_value zend.ze1_compatibility_mode 0
RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css|doc|swf|html|htm|mp3)$ index.php
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог