Работа mod_rewrite у хостера

Sancho

Новичок
Работа mod_rewrite у хостера

Доброго времени суток!

У меня в апаче прописано правило:

RewriteRule ^pages/([A-Za-z0-9_\-]*)/$ /pages.php?urlcode=$1

Соответственно, я рассчитываю, что url, скажем, http://localhost/pages/services/ будет обрабатываться скриптом pages.php с _GET['urlcode'] = services. На локальном сервере так и выходит. У хостера же $_GET получается пустым. Более того, насколько я понял из экспериментов, в $_GET на хостере могут храниться только данные, заданные в url в виде ?a=b, при этом $_GET['a']=b. Видимо, соответствующим образом настроен апач у хостера.

Вопрос, соответственно, следующий: можно ли как-то обойти это ограничение или его вообще не следует обходить (скажем, из соображений безопасности) и подстраиваться под то, что есть?
 

Sancho

Новичок
Не понял вопроса...На хостере $_GET заполняется только если указать url в виде, скажем, /pages/?urlcode=services, тогда pages.php примет $_GET в виде $_GET['urlcode']=services, даже если прописано указанное мной правило. На локальном сервере аналогичным образом ($_GET['urlcode']=services при том же правиле) парсится url /pages/services/.
 

Sancho

Новичок
Автор оригинала: baev
Попробуйте флаг "QSA" добавить.
Попробовал - без изменений...Но, если я все правильно понимаю, [QSA] имеет смысл применять, когда у меня исходный урл вида http://server/path/program?query_string, и в этом случае флаг QSA принудительно добавляет в замену query_string, даже если замена включает собственные параметры. В моем же случае исходный урл имеет вид http://server/path/, где path = /pages/services/. Разве здесь имеет смысл применяь QSA? Или я что-то неправильно понимаю?
 
Сверху