Как сделать ЧПУ с динамическими параметрами?

Здравствуйте! Возник вопрос по ЧПУ. Есть страница site.ru/articles у которой есть несколько параметров, таких как month и year. То есть страницы могут быть
site.ru/articles?month=10 или
site.ru/articles?year=2015 или
site.ru/articles?year=2015&month=10 или
site.ru/articles без параметров.
Получается если сделать ЧПУ, то нужно всегда вводить все параметры, иначе страницы
site.ru/articles/2015 и site.ru/articles/10 будет считать, что введен year
Как сделать, что ЧПУ распозновал, когда введен month, а когда year?
  • Вопрос задан
  • 605 просмотров
Пригласить эксперта
Ответы на вопрос 5
mendler
@mendler
Senior Web Developer
site.ru/articles/2015, 2015 - год, 0 - месяц
site.ru/articles/2015/10, 2015 - год, 10 - месяц
site.ru/articles/0/10, 0 - год, 10 - месяц.
Ответ написан
Комментировать
@Shaman739 Автор вопроса
получается, что нужно всегда передавать обе переменные.С годом и месяцем я для примера привел. В переменных могут быть и строки, которые пользователь ввел и по длине строки определить переменную не получится
Ответ написан
@dmitryKovalskiy
программист средней руки
Имхо - есть хардкод решение - отличать самому в коде. 2 знака - месяц, 4-год, но это не застрахует от пользователя, который введет 12, думая что это год
Ответ написан
Комментировать
@lnked
Конкретно в вашем случае можно считать количество символов, то есть для года это 4 символа для месяца от 1го до 2х
и тогда будут работать и ссылки такого вида site.ru/articles/2015/10, site.ru/articles/10/2015
Ответ написан
trevoga_su
@trevoga_su
www.phpinfo.su/articles/practice/chpu_na_php.html

там 2 пример для тебя как раз
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы