PHP / RewriteRule: переменные GET не проходят через - PullRequest
2 голосов
/ 19 января 2011

У меня есть файл .htaccess, который направляет весь трафик через файл index.php с фронтальной загрузкой, используя

Options +FollowSymLinks
RewriteEngine On
RewriteRule (.*) index.php?$1 [PT]

Но переменные $ _GET по какой-то причине не передаются ..

В index.php, когда я var_dump $ _GET, я получаю только

array(1) { ["index_php"]=> string(0) "" }

независимо от того, что находится в строке запроса.

Что мне нужно изменить?

Спасибо!

Ответы [ 4 ]

1 голос
/ 19 января 2011

Вам необходимо использовать флаг запроса append в конце вашего правила перезаписи. Поместите [QSA] в конец правила перезаписи, в котором вы хотите сохранить все переменные $_GET. Помните, что если вы хотите использовать флаг [L], вы должны написать [QSA,L].

mod_rewrite - Apache

1 голос
/ 19 января 2011

Попробуйте это:

index.php?page=$1

Вы должны определить параметр для этого значения. Если вам нужны все значения строки запроса, вы можете добавить {QUERY_STRING} после $1

0 голосов
/ 19 января 2011

Я думаю, вы делаете это неправильно.Вы хотите получить www.adress.com/page/5/comments создать правило, как это.

0 голосов
/ 19 января 2011

Попробуйте это

RewriteRule .* index.php [L] 
...