Лучше переделать фронт-контроллер, чтобы он мог обрабатывать непосредственно адреса вроде /page без дублей /[index.php]?q=page 😉
Есть готовые фронты, которые могут сами делать роутинг по БД и подтягивать др. данные из БД, например G-Drive. Он даже многокомпонентные пути поддерживает – см. демки в моей статье Как сделать единую точку входа с ЧПУ?
Это если нужно выделять живчиков самым простым путем.
Иначе вешаете счетчики прямо на серверный редирект и при необходимости анализируете IP и т.п.
Может, программисту сильно не доплачивали или вообще не платили, и у них был такой негласный договор 😉 А вы пришли и быстро все порешали типа 😀
Я представляю фейсы прошаренных сайтовладельцев, их проггеров и т.п., к которым «приходит» Антоний и говорит: моя аналитика будет норм. работать, когда у адресов таких-то страниц будут трэйлинг слеши, а таких-то нет 😂 Спасибо, повеселил. Не зря я полсубботы на «серфинг» потратил. Можно сегодняшнюю развлекательную программу считать выполненной.
Ну, ОК. Эта сложность в пустоту. Для тех, кому больше не на что ресурсы потратить.
И юзеры, и спецы (нормальные) различают ТИПЫ страниц по-другому. Представляю, как плюются проггеры, работающие по вашим ТЗ 😊
В моей логике вы просто используете,
/россия/ - как категория
и
/россия - как страница
Одновременно присутствуют обе такие страницы? 😂 шЮтка
Говорю, нужен более существенный признак для различия типов, чем трэйлинг слеш!
/страны/россия
/россия
Можно использовать вашу логику, тогда в ней, предположим
site.ru/category/страны/
site.ru/россия/
Вы можете сделать и так (если вам нравится), но куда логичнее не использовать лишний уровень "category" и более экономно использовать рабочую URL последовательность:
site.ru/страны/
site.ru/страны/россия
Как я понял, он писал про такой вариант:
site.ru/category/россия/
Другие варианты: /россия/, /page/россия/, или даже /category/россия/, /page/россия/ 😀
А у вас /страны/ – почти то же самое, что и /category/ 😉 Слаг category элементарно заменяется на country, и page тоже (но только что-то одно).
Не, хотя многое зависит от смысла показанных GET-параметров.
В общем у пути и строки параметров свое назначение. Что-то, конечно, может «пересекаться», например при пагинации часто лепят в путь page/2 или, как сейчас на форуме, page2, хотя явно это параметр для строки параметров (или для какого-то спец. выделения в пути вроде .2). А вот /search?q=needle было бы хорошо заменить на /search/needle 😉