Opional URL-параметры, которые автоматически добавляются, если не включены - PullRequest
1 голос
/ 15 мая 2011

На моем сайте есть статьи, и я хотел бы, чтобы URL был таким: example.com/(article id) / (название статьи)

Есть две причины, по которым я хотел бы, чтобы URL-адреса были такими: SEO и читабельность.

Эта настройка близка к тому, как настроен стекопоток. И так же, как и в stackoverflow, я не хочу, чтобы заголовок требовался, но если он не включен в, я хочу, чтобы серверная часть добавила заголовок к URL.

Чтобы понять, что я имею в виду, возьмите URL текущей страницы, удалите заголовок из нее и перейдите по этому новому URL. Если вы заметите, когда страница обновляется, заголовок автоматически добавляется к URL.

Когда я думаю о том, как этого добиться, мне нужны два запроса. Первый запрос получит заголовок на основе идентификатора, затем сформирует новый URL и перенаправит на него. Второй URL снова запросит базу данных с идентификатором, отображая статью.

Это единственный способ? Могу ли я добавить дополнительный параметр без фактического перенаправления?

Примечание: я использую cakePHP

1 Ответ

2 голосов
/ 15 мая 2011

Я думаю, что да, это единственный способ.

Вызов № 1 для example.com/(article id): сервер запросит у базы данных идентификатор, увидит, что URL-адрес не является каноническим [1], и сделает перенаправление.

Вызов # 2 для example.com/(article id) / (заголовок статьи) будет вести себя как обычно, что означает еще несколько запросов к базе данных ...

^ Я предлагаю вам сохранить сгенерированный путь к статье , чтобы вы могли использовать его и в других местах.
Таким образом, если заголовок не указан, путь будет просто "/ (идентификатор статьи)", и вам не нужно будет перенаправлять сюда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...