|
|
|
| Как задать "можеть быть" в регулярке?
RewriteRule ^post([0-9]+)_([0-9]{5})$ post.php?id=$1&id2=$2 [L]
RewriteRule ^post([0-9]+)$ post.php?id=$1 [L]
|
Как это объеденить, т.е. как записать в одну строку? Второго значения может и не быть в адресной строке.
Там наверно что-то нужно со знаком вопроса сделать, но я не знаю, как это в синтаксисе правильном должно быть. | |
|
|
|
|
|
|
|
для: Maxam
(19.06.2011 в 14:46)
| | Хм... а можно более подробно описать ситуацию? "может быть" задается разными способами в зависимости от того, чего хочется добиться и где это "может быть" расположено. | |
|
|
|
|
|
|
|
для: cheops
(19.06.2011 в 16:47)
| | Ну, т.е. в адресе может быть четыре варианта:
http://www.moisajt.ru/post5
http://www.moisajt.ru/post5_56
http://www.moisajt.ru/post5?sort=значение&index=значение
http://www.moisajt.ru/post5_56?sort=значение&index=значение
|
Хотел просто в одну запись, чтобы не создавать четыре строки. | |
|
|
|
|
|
|
|
для: Maxam
(19.06.2011 в 22:46)
| | Собственно идея у вас верная - самые длинные соответствия располагаться первыми, короткие - последние. Каждое правило сопровождать флагом [L]. Только следует помнить, что RewriteRule отбрасывает все GET-параметры, т.е. то, что расположено после ?, для получения этих параметров необходимо использовать RewriteCond и переменную окружения %{QUERY_STRING}. | |
|
|
|
|
|
|
|
для: cheops
(20.06.2011 в 00:00)
| | Вот мне как раз и нужно совместить, чтобы к сокращённым адресам post5 можно было обычные get-параметры передавать и чтобы они нормально понимались? Или тут не вариат? | |
|
|
|
|
|
|
|
для: Maxam
(19.06.2011 в 14:46)
| | Всё, спасибо. Оказывается достаточно добавить правило "QSA" :) | |
|
|
|