2014-10-21 2 views
1

Я имею Rewrite правила объявление следуетправила ReWrite для длинного URL

RewriteEngine On 
RewriteCond ${REQUEST_URI} ^.+$ 
RewriteCond %{REQUEST_FILENAME} \.(gif|jpe?g|png|js|css|swf|php|ico|txt|pdf|xml)$ [OR] 
RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_FILENAME} -l 
RewriteRule^- [L] 

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

если URL приходит как, http://www.example.com/manage/ne/new?query=123 means, я прод получить значение «запрос» передается в URL, используя «$ _GET» в PHP.

он перенаправляет как `http://www.example.com/index.php?rt=manage/ne/new

но моя потребность http://www.example.com/index.php?rt=manage/ne/new&query=123

может любой помочь мне исправить это вопросы, касающиеся Htacces.

ответ

1

Вам нужны QSA флаги в нижних 2 правилах:

RewriteRule ^([^/]+)/(.+)/?$ index.php?rt=$1/$2 [L,QSA] 
RewriteRule ^([^/]+)/([^/]+)/(.+)/?$ index.php?rt=$1/$2/$3 [L,QSA] 

QSA (Строка запрос Append) флаг консервирование существующего параметры запроса при добавлении нового.