[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP и RewriteRule
adm119
Помогите решить проблему!

Настроил .htaccess вот так:
RewriteRule ^([a-zA-Z]+)/?$ /index.php?page=$1

Чтобы при URL вида site.ru/pagename отправлялся запрос site.ru/index.php?page=pagename

Но, есть проблема. На странице есть ещё скрипты где используется метод GET, в частности там есть таблица, где можно сортировать данные по-разному: по дате и наименованию. И когда к адресу site.ru/pagename прибавляешь ?sort=date или ?sort=title, то этот самый $_GET['sort'] не видится. Более-менее знающий чел подсказал, что последний гет "съедает" реврайт.

Подскажите как решить проблему?

А ведь помимо сортировки есть ещё и постраничный вывод.
То есть нужно, чтобы корректно работали такие ссылки:

site.ru/pagename
site.ru/pagename?sort=date|title
site.ru/pagename?sort=date|title&p=1|2|3...



Спустя 3 минуты, 24 секунды (1.08.2011 - 14:41) adm119 написал(а):
Да, в принципе устроит такой вариант, чтобы ссылки были следующего вида:

site.ru/pagename
site.ru/pagename/date|title
site.ru/pagename/date|title/1|2|3...

Но, тогда как настроить .htaccess?

Спустя 1 минута, 43 секунды (1.08.2011 - 14:43) Winston написал(а):
Лучше написать так
RewriteRule ^(.*)$ /index.php?page=$1

А потом разобрать строку, как здесь сделано.

Спустя 6 минут, 57 секунд (1.08.2011 - 14:50) adm119 написал(а):
PHPprogrammer, а это сработает если у меня там ещё следующая запись:
RewriteRule ^([0-9]+)/?$ /index.php?firm=$1

Забыл про это упомянуть.

То есть у меня получается, что если после слэша буквы - это один тип страниц со своими данными, если цифры, то другой тип страниц.

Спустя 3 часа, 25 минут, 8 секунд (1.08.2011 - 18:15) adm119 написал(а):
PHPprogrammer, прочитал способ что по ссылке расписан. Достаточно интересно, но тут, как я понял, и структуру нужно переделывать как в примере. А у меня сайт уже практически готов. Может есть способ доработать мой код? Например грамотно реврайт настроить. Буду очень признателен за помощь.

Спустя 12 часов, 58 минут, 40 секунд (2.08.2011 - 07:13) adm119 написал(а):
Проблема решена. Пишу решение для тех, кто, возможно, столкнётся с такой же проблемой. В конце строки надо просто приписать [QSA] и всё smile.gif Эта хрень говорит о том, что надо учитывать и другие переданные параметры GET. Не терять их, а добавлять к получившемуся запросу.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.