真意のほどは定かではありませんが一般的に階層が浅いページほど
検索エンジンで好評価を得られると言われています。
Zend Frameworkを使ってこのファイルにアクセスする場合、
ページのURLは下記のように5階層になり、あまりSEO的によくありません。
/{モジュール名}/{コントローラ名}/{アクション名}/パラメータ名/パラメータ値/
例:/user/shop/data/shopkey/12345/
モジュール名 user
コントローラー名 shop
アクション名 data
パラメータ 店舗キー(shopkey)
そこでZend Routeを使ってURLを短縮させてみます。
普通にFrontコントローラーを使った場合
require_once 'Zend/Controller/Front.php'; $front = Zend_Controller_Front::getInstance(); $front->setParam('noViewRenderer', true); $front->setParam('useDefaultControllerAlways', true); $front->dispatch();
Zend RouteでURLを短縮
require_once 'Zend/Controller/Front.php'; require_once 'Zend/Controller/Router/Rewrite.php'; require_once 'Zend/Controller/Router/Route.php'; $front = Zend_Controller_Front::getInstance(); $front->setParam('noViewRenderer', true); $front->setParam('useDefaultControllerAlways', true); $router = $front->getRouter(); $route = new Zend_Controller_Router_Route( 'shop/:shop/', array( 'shopkey' => 'shopkey', ''module' => 'user', 'controller' => 'shop', 'action' => 'data' ) ); $router->addRoute('shop', $route); $front->dispatch();
これで
/shop/12345/ で /user/shop/data/shopkey/12345/ と同じURLにアクセスした事になります。
参考URL:
masahilog – 『ZendFrameworkのディレクトリ構造とか』
CodeZine – 『Zend Framework入門(4):PHPでMVCアプリケーションを構築しよう – Zend_Controller(中編)』
Por toda a minha vida – 『Zend FrameworkでAmazon風のURLに対応させる方法』