Ответ 1
Плагин - это часть URL, когда вы получаете доступ к ресурсу. Допустим, у вас есть URL-адрес, такой как приведенный ниже, который отображает все автомобили в вашей системе:
http://localhost/cars
Если вы хотите указать конкретный автомобиль в вашей системе, вы должны указать следующий URL:
http://localhost/cars/audi-a6/
Обратите внимание, что URL все еще очень логичен и очень дружелюбен к SE. С точки зрения использования пули, это на ваше усмотрение. Строка audi-a6 выше может быть уникальным идентификатором автомобиля в вашей системе - допустим, у вас есть реляционная база данных со следующими полями:
id
car_name
car_brand
car_unique_identifier
Поле car_unique_identifier
будет затем использоваться для хранения значений, которые отображаются в слаге; в приведенном выше примере с автомобилем Audi A6 это место, где будет жить ваша строка audi-a6.
Вы можете использовать его и другими способами - например, если у вас есть контроллер постов, который работает как блог. Заголовок страницы может быть слагом для нее, если она закодирована в URL. Для нашей статьи под названием "Лучшие способы сделать SEO лучше", вы можете предоставить следующий URL:
http://localhosts/posts/best-ways-to-make-seo-better
Затем вы запустите url_decode()
для slug, и вы получите строку, которая поможет вам улучшить seo, что вы можете использовать, чтобы найти сообщение по его заголовку.
На этом не нужно останавливаться - вы можете решить использовать несколько слагов для представления чего-либо - давайте посмотрим, как это делает BBC. Сегодня я взял случайную статью со следующим URL:
http://www.bbc.co.uk/news/world-africa-24506006
Это ссылка на статью под названием: Африканский союз призывает МУС прекращать дела против лидеров. Способ, которым BBC это делает, заключается в том, что они используют последнюю часть слага "world-africa-24506006", то есть 24506006, для идентификации уникальной записи в своей системе. Затем они, скорее всего, используют world-africa для обозначения категории, к которой принадлежит пост (хотя это может быть только предположение, это все же обоснованное предположение).
Наконец, давайте представим следующую таблицу БД для исследовательских работ.
id
category
title
У вас может быть пример, который работает как приведенный ниже.
http://localhost/papers
Этот URL представляет все исследовательские работы, которые в настоящее время находятся в системе. После этого вы сможете получить доступ ко всем научным работам по физике с помощью следующей команды:
http://localhost/papers/physics
Наш слаг - это физика, и выбор нашей базы данных в настоящее время выглядит примерно так:
SELECT *
FROM papers
WHERE LOWER(papers.category) = 'physics'
Затем вы можете выставить следующий URL:
http://localhost/papers/physics/gravitation
Теперь наш слаг состоит из физики и гравитации. Наш закулисный запрос может выглядеть примерно так:
SELECT *
FROM papers
WHERE LOWER(papers.category) = 'physics'
AND LOWER(papers.title) = 'gravitation'
Это позволяет нам однозначно идентифицировать запись в нашей системе.
Поэтому мы неоднократно использовали слагов, чтобы отфильтровать нашу информацию. В примере, когда мы запустили URL без слагов:
http://localhost/papers
Мы хотели перечислить все доступные исследовательские работы. Когда мы запустили URL с физическим слагом:
http://localhost/papers/physics
Мы хотели перечислить все исследовательские работы по физике, тем самым сузив наши результаты. Наконец, когда мы предоставили двух слагов, мы могли однозначно идентифицировать запись в нашей системе.
http://localhost/papers/physics/gravitation
Могли бы мы смоделировать это по-другому? Конечно! В зависимости от наших системных требований мы можем нормализовать и денормализовать наши реляционные таблицы. У нас могла бы быть система постоянных ссылок, чтобы наша таблица сообщений выглядела так:
id
title
permalink
Мы могли бы иметь следующую запись:
| 20013 | Gravitation | physics-gravitation-breakthrough |
Таким образом, выставляя URL:
http://localhost/papers/physics-gravitation-breakthrough
В приведенном выше примере слизняк- физика-гравитация-прорыв позволяет нам однозначно идентифицировать пост с помощью:
SELECT *
FROM papers
WHERE papers.permalink = physics-gravitation-breakthrough