#php #zend-framework #url-rewriting
#php #zend-framework #url-перезапись
Вопрос:
Мне нужно перенаправить URL здесь. Я использую конечный фреймворк, и мне нужно настроить здесь несколько базовых статических страниц. Например, политика конфиденциальности, реклама и т.д. — Однако проблема в том, что мне нужно создать контроллер для каждой страницы здесь. Это не большая проблема, но мне было интересно, возможно ли мне настроить это так:
mysite.com/privacy/index
будет перенаправлено на
mysite.com/pages/privacy
Может показаться, что это не проблема, но хотелось бы знать
Ответ №1:
Для каждой статической страницы вы можете добавить маршрут для нее в вашем application.ini. Например, для mysite.com/privacy/index
вы можете сделать:
resources.router.routes.privacy.route = "/privacy/index"
resources.router.routes.privacy.defaults.module = default
resources.router.routes.privacy.defaults.controller = pages
resources.router.routes.privacy.defaults.action = privacy
Подробнее о маршрутизации в ZF читайте в руководстве по ZF.
Надеюсь, это поможет
Ответ №2:
Исходя из моего опыта, я бы НАСТОЯТЕЛЬНО не рекомендовал создавать пользовательские маршруты, если это не требуется на 100% (исключение составляют URL-адреса с ключевыми словами для продуктов или страниц, сгенерированных CMS). Мы хотели, чтобы в нашем решении для электронной коммерции были красивые URL, подобные /about-us/
вместо /pages/about-us/
, но добавлять дополнительные функции затруднительно, поскольку для каждой такой вещи приходилось добавлять новый маршрут. В настоящее время у нас есть около 25 пользовательских маршрутов. Вы никогда не сможете сказать, что такое взлом URL, потому что стандартный url, подобный producer/index
, перенаправляется с чего-то вроде producers
.
Если вы все еще этого хотите, следуйте ответу Марчина 🙂