0

サブドメイン Phalcon への接続方法:

city1.site.com
city2.site.com
city3.site.com
...
cityN.site.com

都市 - データベース内

私はそうしようとしています

$router->add('{subdomain:\w+}.{domain:.+}', array(
    'controller' => 'category',
    'action' => 'categorySearch'
        )
);

しかし、動作しません。

4

2 に答える 2

4

Phalcon のルーターはサブドメインと一致しません。対応するルーターを作成するには、$_SERVER['SERVER_NAME'] を正規表現と一致させる必要があります。

<?php
$di = new \Phalcon\Di\FactoryDefault();

$di->setShared('router', function() {

    // Match subdomain with regular expression
    if(preg_match("/^(\\w+)\\.site\\.com$/", $_SERVER['SERVER_NAME'], $matches) === 1) {
        $subdomain = $matches[1];
    }

    // Create a router without default routes
    $router = new \Phalcon\Mvc\Router(false);

    if (isset($subdomain)) {
        // Create routes for subdomains
        $router->add('/category', array(
            'controller' => 'category',
            'action' => 'categorySearch'
        ));
    } else {
        // Create routes for main domain
    }

    return $router;
});

// Retrieve corresponding router at runtime
$di->getShared('router')->handle();
于 2015-05-19T18:28:14.567 に答える