Прежде всего, введите sanitize этого URL. Не создавайте динамические переменные из ложного источника ввода. Ну, вы должны знать, чего ожидать на данной странице. Какие переменные и какой тип переменных они содержат.
Что делать, если вам нужно отобразить набор категорий, а одна из категорий называется "id"
/ продукты / обезьяны / белые / id / - вы правильно ... d
Выберите другое соглашение для обработки вашего URI.
Как разделить URI на элементы area, section и page.
http://www.oink.com/products/pigs/spottyones/angry/the_big_spotty_pig.html
area = 'products'
section = array ('spottyones', 'angry')
page = the_big_spotty_pig (уникально идентифицирует статью, продукт и т. д.)
Когда мне приходится использовать переменные, они в основном касаются порядка, номера страницы и т. Д. Поэтому их можно добавлять в качестве параметров строки запроса.
UPDATE
Санитарная обработка:
Вы должны установить правила для себя. Допустим, URI может содержать только определенные символы.
//Sanitization
$uri = $_SERVER['REQUEST_URI']; // /products/monkey/angry/page.html
//allow only characters, numbers, underline and dash
if (!preg_match('~^[a-z0-9-_]$~isD',$uri))
$uri = '/'; //URI has been tampered with
$uriparts = explode('/',$uri);
/* array('products','monkey','angry','page.html') */
//Do whatever you want with the uri parts ...