как изменить имена Zend-контроллера изящно - PullRequest
1 голос
/ 17 февраля 2012

У меня сейчас сломанная структура сайта, которая нуждается в ремонте, и я хочу сделать это, не нанося большого вреда тому небольшому количеству SEO, которое у нас есть в настоящее время.

What I have is .com/doctor/office/route/values/here
What I want is .com/doctors/route/values/here

Полагаю, я могу просто настроитьКонтроллер "doctor" для перенаправления всего трафика на контроллер "doctor", но мне нужно убедиться, что значения маршрута встречаются правильно.Я хочу убедиться, что это 301, чтобы обновить все мои проиндексированные страницы.

Есть ли что-то встроенное в Zend, чтобы сделать это легко?Или мне придется взломать что-нибудь противное?

1 Ответ

1 голос
/ 17 февраля 2012

Похоже, есть два основных требования:

  1. Старые URL-адреса перенаправляются на новые URL-адреса.
  2. Новые URL обрабатываются старыми контроллерами.

Итак:

  1. Создать DoctorRedirectController с redirectAction()

  2. Перенаправьте старые URL на redirectAction(). Если вы ранее использовали маршруты по умолчанию, то добавьте пользовательский маршрут, который сопоставляет ваш старый шаблон с этим новым redirectAction. Если вы уже использовали пользовательские маршруты, просто укажите их на этот новый контроллер перенаправления.

  3. redirectAction() создает соответствующий новый URL и выполняет 301-перенаправление.

  4. Добавьте маршруты, которые сопоставляют новые URL со старым контроллером / действиями.

Никакой зенд-магии, только грубая работа переотображения.

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