2

Zend_Hostname_Router_Route を使用しているプロジェクトに取り組んでいます。

私のアプリケーションはかなり単純です。dev サブドメインにルーティングしたい dev という名前のモジュールがあります。問題が何であるかを理解するために、ここや他のサイトのいくつかの記事を読みました。

アプリケーションに ZF 1.12 を使用しています。以下に示すように、appllication.ini ファイルで Zend_Hostname_Router_Route を使用しています。

   [production]


    phpSettings.display_errors = 0
    includePaths.library = APPLICATION_PATH "/../library"
    bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
    bootstrap.class = "Bootstrap"
    appnamespace = "Application"
    resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
    resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 
    resources.frontController.params.displayExceptions = 0
    resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
    resources.view[] =
    resources.view.encoding = "UTF-8"
    resources.view.doctype = "HTML5"
    resources.view.contentType = "text/html; charset=UTF-8"
    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1
    resources.db.adapter = "PDO_SQLITE"
    resources.db.params.dbname = APPLICATION_PATH "/../data/db/guestbook.db"  

         [development:production]

    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1
    resources.frontController.params.displayExceptions = 1
    resources.db.adapter = "PDO_SQLITE"
    resources.db.params.dbname = APPLICATION_PATH "/..application/db/guestbook-dev.db"

    resources.router.routes.type = "Zend_Controller_Router_Route_Hostname"
    resources.router.routes.route = "dev.michaeldrowan.com"
    resources.router.routes.chains.dev.type = "Zend_Controller_Router_Route"
    resources.router.routes.chains.dev.route = ":controller/:action/"
    resources.router.routes.chains.dev.defaults.module = "dev"
    resources.router.routes.chains.dev.defaults.controller = "index"
    resources.router.routes.chains.dev.defaults.action = "index"

ZF クイックスタート チュートリアルのアプリケーション。だから、これを設定するのに問題はないはずです。私は2つのindex.phpを試しました。public_html にあり、下のフォルダーのサブドメインにあります (それが私のホストが配置する場所です)。サブドメインのインデックスはdevモジュールを指しています..また、zfクイックスタートチュートリアルの方法である方法を試しました

  <?php
   // Define path to application directory
    defined('APPLICATION_PATH')
        || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../michaeldrowan   /application/'));


   // Define application environment
   defined('APPLICATION_ENV')
      || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV')  : 'production'));


   // Ensure library/ is on include_path
    set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/../../library'),
    get_include_path(),
)));

    /** Zend_Application */
   require_once 'Zend/Application.php';

    // Create application, bootstrap, and run
    $application = new Zend_Application(
    APPLICATION_ENV,
    APPLICATION_PATH . '/configs/application.ini'
);
?>

開発者のインデックスは次のとおりです。

<?php

// Define path to application directory
defined('APPLICATION_PATH')
    || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application/'));

// Define application environment
defined('APPLICATION_ENV')
    || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'development'));

// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/../library'),
    get_include_path(),
)));

/** Zend_Application */
require_once 'Zend/Application.php';

// Create application, bootstrap, and run
$application = new Zend_Application(
    APPLICATION_ENV,
    APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap()
            ->run();
?>

「プロダクション」を「開発」に変更して、両方のモジュールを指すようにしました。「開発:生産」も試しました

また、アプリケーションをモジュール構成に向けようとし、アプリケーションをモジュールにも設定しようとしました。

試してみたいものがなくなってきました。誰かが私を助けてくれることを願っています。

4

1 に答える 1

0

Apache を使用している場合は、これを .htaccess に記述します。

RewriteCond %{HTTP_HOST} ^([a-zA-Z\-\.]+)\.yoursite\.com$ [NC]
RewriteRule ^(.*)$ index.php?someparam=%1 [QSA]

次に、IndexController でサブドメイン名にアクセスできます。

if ($this->getRequest()->getParam('someparam') == 'dev') {
  // use routing
}
于 2012-12-05T14:49:25.173 に答える