Zend Framework - как переписать URL в SEO дружественный URL - PullRequest
3 голосов
/ 21 марта 2012

У меня есть веб-сайт на Zend Framework (я абсолютный нуб в Zend).Например, я хотел бы сделать один URL-адрес "somewebsite.com/test/about", чтобы он выглядел следующим образом "somewebsite.com/for-fun-link".Как мне добиться этого в Zend?Я новичок в Zend и Apache сервере.Где я переписываю в Zend?Я хочу, чтобы статический URL somewebsite.com / page / about переписал на somewebsite.com / about-product

И последний вопрос: где я обычно создаю перезаписи?это зависит от севера / технологии?

1 Ответ

2 голосов
/ 22 марта 2012

В вашей начальной загрузке вам нужно настроить несколько «маршрутов».Итак, если ваша начальная загрузка завершается примерно так:

$frontController = Zend_Controller_Front::getInstance();
$frontController->dispatch();

, вы можете просто добавить некоторые определения маршрутов, например так:

$frontController = Zend_Controller_Front::getInstance();

$router = $frontController->getRouter();
$router->addRoute( 'mylovelyroute',
    new Zend_Controller_Router_Route_Static( 'for-fun-link',
        array( 'controller' => 'test', 'action' => 'about' )
    )
);
$router->addRoute( 'myotherroute',
    new Zend_Controller_Router_Route_Static( 'about-product',
        array( 'controller' => 'page', 'action' => 'about' )
    )
);
$router->addRoute( 'justonemore',
    new Zend_Controller_Router_Route_Static( 'another/longer/path',
        array( 'controller' => 'mycontroller',
            'action' => 'myaction',
            'someparameter' => 'foo'
        )
    )
);

$frontController->dispatch();

Первый параметр addRoute() является просто уникальнымназвание.Zend_Controller_Router_Route_Static выбирает путь, который вы хотите записать, а затем массив параметров, включая контроллер и действие (и модуль, если он применяется).

Если вы хотите добавить сложность, вы можете загрузитьмаршруты из базы данных, или начать использовать более динамические маршруты.Документы здесь являются полезным следующим шагом: http://framework.zend.com/manual/en/zend.controller.router.html#zend.controller.router.routes.standard

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