真意のほどは定かではありませんが一般的に階層が浅いページほど
検索エンジンで好評価を得られると言われています。
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に対応させる方法』







