|
|
|
| Есть такая запись в .htaccess
# /news/title_group-23 to /news/index.php?id_group=23
RewriteRule ^news/([A-Za-z0-9-]+)-([0-9]+)/?$ news/index.php?id_group=$2 [L]
|
Делает из такого URL: /news/title_group-23
такой: /news/index.php?id_group=23
Надо к этому делу привязать постраничную навигацию, т.е. расширить это рег. выражение чтобы оно делало из такого URL: /news/title_group-23?page=2
такой: news/index.php?id_group=$2&page=2
Кто знает как это сделать, подскажите плиз. | |
|
|
|
|
|
|
|
для: tAleks
(29.07.2011 в 16:25)
| | с восклицательным получается, с вопросительным не хочет
RewriteRule ^news/(?:\w+)-(\d+)(?:!page=(\d+))?$ news/index.php?id_group=$1&page=$2 [L]
# /news/title_group-23 и /news/title_group-23!page=5
|
| |
|
|
|
|
|
|
|
для: tAleks
(29.07.2011 в 16:25)
| | Решил задачу. :)
Если кому понадобится, то у меня получилось так:
# /news/title_group-23 to /news/index.php?id_group=23
RewriteRule ^news/([A-Za-z0-9-]+)-([0-9]+)/?$ news/index.php?id_group=$2 [QSA,L]
|
Дело в окончании - [QSA,L] | |
|
|
|
|
|
|
|
для: tAleks
(30.07.2011 в 20:55)
| | и где решение? | |
|
|
|
|
|
|
|
для: f111
(30.07.2011 в 22:06)
| | Флаг QSA включает передачу GET-параметров в RewriteRule, в котором по умолчанию это отключено. | |
|
|
|
|
|
|
|
для: cheops
(31.07.2011 в 11:25)
| | у вас всегда такие подробные ответы, на этот раз что-то вы по скромничали)) | |
|
|
|
|
|
|
|
для: f111
(31.07.2011 в 12:07)
| | Просто проблема настолько часто встречается, что мне казалось нет такого mod-rewrite разработчика, который бы с ней не сталкивался... Когда вы используете RewriteRule он по умолчанию применяет регулярное выражение к адресу начиная с корня сайта /, заканчивая символом ? (если он есть), т.е. все CGI-параметры после ? отбрасываются. Что бывает зверски неудобно, особенно если поверх преобразованного адреса, например /catalog/tovar/car/2011/ вам нужно наложить постраничную навигацию /catalog/tovar/car/2011/?page=11. По умолчанию, RewriteRule отбросит ?page=11. Из этой ситуации можно выйти двумя способами, либо задействовать RewriteCond и разбирать переменную окружения QUERY_STRING, либо включить флаг QSA, который заставит RewriteRule читать данные и после символа ? | |
|
|
|
|
|
|
|
для: cheops
(31.07.2011 в 12:16)
| | >нет такого mod-rewrite разработчика
я не mod-rewrite разработчик, я просто любитель
спасибо за ответ | |
|
|
|