Я создал веб-сайт с иерархической структурой и URL-адресами, удобными для поисковых систем (SEF), такими как:
/seeds-1/
/seeds-1/fruits-2/
/seeds-1/fruits-2/black-berries-5/
/seeds-1/fruits-2/blue-berries-6/
/seeds-1/fruits-2/strawberries-7/
/seeds-1/vegetables-3/
/seeds-1/vegetables-3/potato-8/
/seeds-1/vegetables-3/onion-9/
/seeds-1/vegetables-3/cabbage-10/
/seeds-1/flowers-4/
/seeds-1/flowers-4/red-rose-11/
/seeds-1/flowers-4/tulips-12/
и так далее. Вы заметите, что числа в конце являются идентификаторами. Теперь, когда я закончил с веб-сайтом и всем остальным, «консультант» вмешивается и говорит моему клиенту, что «... URL не являются 100% поисковыми системами, чтобы сделать их 100% дружественная поисковая система, цифры должны быть удалены ... ". Я, очевидно, не могу говорить с «консультантом», так как они выполнили свою работу и исчезли .
Теперь я буду признателен, если кто-то может указать на плюсы и минусы для обоих типов URL. Мне нужны веские аргументы, чтобы убедить клиента, плюс мне действительно нужно знать, допустил ли я ошибку при выборе такого типа схемы URL для моего сайта.
Редактировать ----
Может быть, я ленивый. Правила переписывания выглядят так:
RewriteRule ^[^/]+-([0-9]+)/$ object.php?ObjectID=$1
RewriteRule ^[^/]+-([0-9]+)/[^/]+-([0-9]+)/$ object.php?ObjectID=$2
.
.
.
Достаточно легко извлечь ObjectID из строки запроса, привести его к целому числу и использовать его в запросе SQL. Я думаю, что использование сравнения текста в запросах (WHERE Name = '% s') медленнее по сравнению с использованием сравнения целых чисел (WHERE ObjectID =% d), поэтому я сомневаюсь. Вопрос скорее в том, стоит ли делать URL-адреса более удобными для человека за счет того, чтобы сделать их менее удобными для кодирования и производительности.