Такая беда, ссылка выглядит вот так <a href=?page=2 после отработки .htaccess, ссылка получается не page=2, а просто домен/2 Если вытаскивать так print_r($_GET); то такой get параметр он не видит. Если так echo $_SERVER['REQUEST_URI'];, то видит, и можно достать её с помощью explode и потом по числовым ключам найти эту страницу, но проблема состоит в том, что если перед этим аргументом, будет ещё аргументы, то уже нужный ключ будет стоять в другом месте, а как сделать, что бы всегда можно было получить нужный ключ? Вот так нормально shop/2/ PHP: echo '<pre>'; print_r(explode('/', $_SERVER['REQUEST_URI'])); echo '</pre>'; Array ( [0]=> [1]=> shop [2]=>2 [3]=> ) Но будут случаи, когда в урле, будет только shop/?sort=asc Тогда explode будет работать некорректно, как быть в таких случаях, проверять количество аргументов, перед разбивокой? --- Добавлено --- или искать регулярками карман, в котором есть только цифры?
Там все упирается в регулярку, либо .htaccess прописывать так чтобы не изменялось то что после "?" или доставать из 'REQUEST_URI' как это делается в MVC и там не просто.
В этом вся суть ЧПУ - придумать проблему а, точнее, комплекс проблем, чтобы потом их решать ради СЕОшной мифологии.
@Dimon2x то что у вас номера страниц в GET-параметре – это скорее хорошо, чем плохо. С фильтрами/сортировками уже возможны варианты. Попробуйте обрабатывать исходный адрес целиком (и путь, и строку парметров) в скрипте. Прежде чем разбивать путь, не мешало бы сначала отделить строку параметров (либо вытянуть нужные вам параметры из полного адреса при помощи регулярки, независимо от того, находятся они в пути или в строке параметров). Простейший пример такого отделения я показал в статье http://gency.ru/single-entry-point – условие в ветвлении (1) можно опустить – оно используется для того, чтобы не потерять завершающий вопр. знак, когда строка параметров пустая. --- Добавлено --- Информация к размышлению. Вот так тоже нормально: /shop?page=2 /sort-asc/shop (в роботс легко закрывать подобные неполные дубли при помощи маски /sort-asc/ и т.п.)