• ベストアンサー

ZendFrameworkにてルート以外の利用

レンタルサーバにて、ZendFrameworkを利用しています。 SSL接続をさせたいたのですが、利用しているレンタルサーバは、通常は「http://aaa.bbb/」の接続ですが、共有SSLですと「https://ccc/~aaa」のように、ディレクトリ階層が深くなってしまい、ルートディレクトリではなくなってしまいます。 そうなると、「~aaa」をコントローラと認識するようで、Zend_Controller_Dispatcher_Exceptionが発生します。 どしたら良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.1

ルータのURL検出からはずしたいということなら $front->setBaseUrl('/~aaa/'); のような感じでどうですか。

参考URL:
http://framework.zend.com/manual/ja/zend.controller.router.html#zend.controller.router.rewritebase
ocyaduke
質問者

お礼

回答ありがとうございます。 体調不良でお礼が遅れました。 上記、さっそく試してみます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ZendFramework-1.0.2の環境設定

    IndexController.php以外の Controllerファイルが起動いたしません。 以下のようなエラーが出力されます。どのように対処したらよいでしょうか。よろしくお願いいたします。 Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)' in C:\zend\ZendFramework\library\Zend\Controller\Dispatcher\Standard.php:194 Stack trace: #0 C:\zend\ZendFramework\library\Zend\Controller\Front.php(920): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 C:\zend\ZendFramework\library\Zend\Controller\Front.php(224): Zend_Controller_Front->dispatch() #2 C:\Apache Group\Apache2.2\htdocs\zdb1\index.php(10): Zend_Controller_Front::run('./application/c...') #3 {main} thrown in C:\zend\ZendFramework\library\Zend\Controller\Dispatcher\Standard.php on line 194

    • ベストアンサー
    • PHP
  • zendのcontrollersについて

    Zendを始めたばかりのものです。 サーバ:XPで自営 Apache2,php5 Zendをダウンロードし、Cドライブのルートに「ZendFramework-1.9.0」 という名前で配置しました。 php.iniのinclude_pathの設定も変更し、 htdocsの直下にindex.phpを作成し <?php require_once 'Zend/Version.php'; //ライブラリの読み込み echo Zend_Version::VERSION; //現在のZend Frameworkのバージョンを表示 とすると、正常にバージョンが表示されます。 zendappsというフォルダーをhtdocsの中に作成し、index.phpに <?php require_once 'Zend/Controller/Front.php'; Zend_Controller_Front::run('../zendapps/controllers'); とするとエラーになります。(エラーは長いので後述) '../zendapps/controllers'の部分かとも思いますが、 お分かりになる方、教えていただけると幸いです。 エラーの内容 Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)' in C:\ZendFramework-1.9.0\library\Zend\Controller\Dispatcher\Standard.php:242 Stack trace: #0 C:\ZendFramework-1.9.0\library\Zend\Controller\Front.php(946): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 C:\ZendFramework-1.9.0\library\Zend\Controller\Front.php(212): Zend_Controller_Front->dispatch() #2 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\zendapps\index.php(3): Zend_Controller_Front::run('../zendapps/con...') #3 {main} thrown in C:\ZendFramework-1.9.0\library\Zend\Controller\Dispatcher\Standard.php on line 242

    • ベストアンサー
    • PHP
  • zendframeworkの階層

    zendframeworkの階層について質問です。階層を深くした場合の構造が理解できません。 例えばexsample.com/test/というURLの場合 /application/controllers/TestController.php class TestControllerAction extends Zend_Controller_Action { public function indexAction() { //略 } } とすればこれで問題なく動作しますが exsample.com/hoge/test/というURLの場合はどのようにしたらいいですか? ルーター?の設定等は特に変更はしておらずデフォルトの状態で利用しています。

    • ベストアンサー
    • PHP
  • ZendFramework 環境設定

    現在、Zendframeworkで開発していこうと考えていたんですが、以下のエラーがでて先に進めません。本来は「http://localhost」とアクセスすると画面が表示されるはずなのですがダメです。 環境[OS X] サーバー[Xampp for mac] Warning: require_once(Zend/Controller/Front.php): failed to open stream: No such file or directory in /Applications/XAMPP/xamppfiles/htdocs/index.php on line 2 Fatal error: require_once(): Failed opening required 'Zend/Controller/Front.php' (include_path='.:/php/includes:/Applications/XAMPP/ZendFramework/library/Zend') in /Applications/XAMPP/xamppfiles/htdocs/index.php on line 2

    • 締切済み
    • PHP
  • SSL構築中ですが、もうちょっとなんです。

    RedHat7.2、Apache/1.3.23でSSLを設定しております。 あと、httpd.confだけの設定なのですが、どうしてもうまくいきません。 http://www.aaa.com/とhttp://www.bbb.com/で aaa.comがデフォルトのサーバーでbbb.comをバーチャルホストとして設定しているとします。 https://www.aaa.com/をhttpsにすると問題ないのですが https://www.bbb.com/にアクセスすると https://www.aaa.com/に飛びます。 ドキュメントルートがaaa.comのディレクトリだからだと思うのですが、bbb.comも性格にSSLを使えるようにするにはどうすればいいのでしょうか? いわゆる他の仮想サーバーにも設定したいのです。 どなたか恐れ入りますがご教授おねがいします。 <VirtualHost _default_:443> documentRoot "aaa.comのディレクトリ" </VirtualHost>

  • ZendFrameworkでParseError

    レンタルサーバへZendFrameworkのライブラリを設置したところ、以下のエラーが出ます。 Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/****/*****/ZendFramework/library/Zend/Controller/Front.php on line 44 index.phpでFront.phpをrequire_onceしているので、index.phpもZendFrameworkライブラリも設定は間違っていないのではないかと思われます。 ライブラリのデータ破損などがあることも考え、若干バージョンの違うものをアップロードしてみましたが同じでした。 自分の作成したファイルでエラーが出ているのであれば問題点の探しようもあるのですが、フレームワークのライブラリなので、どう対処していいかが分かりません。 分かる方がいらしたらぜひ教えてください。

    • ベストアンサー
    • PHP
  • 301リダイレクトの記述方法に関して

    サイトリニューアル後の301リダイレクトに関してご質問させて頂きます。 旧サイト URL : http://www.hoge.co.jp/aaa サーバーのディレクトリ : www/aaa 新サイト(全ページssl対応) URL : https://www.hoge.co.jp/aaa/bbb サーバーのディレクトリ : ssl/aaa/bbb サーバー:ファーストサーバ ------------------------------------------------------------------------- 上記の状況で旧サイトのディレクトリwww/aaaより下のファイルにアクセスしてきたものを 全て新サイトのトップページ(https://www.hoge.co.jp/aaa/bbb/index.php)へ 「.htaccess」を使用してリダイレクトしたいのですが、どの様に記述すれば良いのか 分かりません。 調べて「.htaccess」を作成しサーバーへアップロードしてみてもインターネットエラー500に なってしまいます。 この様な場合の「.htaccess」の記述方法や設置場所をご教授頂きますようお願い申し上げます。

  • zendframeworkについて

    zendframeworkを勉強中です。 マニュアルを読んでもプラグインについて理解が深められず質問なのですが 下記のメソッド内でどのような処理を行うべきなのでしょうか? ・routeStartup ・routeShutdown ・dispatchLoopStartup ・preDispatch ・postDispatch ・dispatchLoopShutdown 考えられるのは・・・ DB接続、認証、PCと携帯サイトの切替え、文字コード変換などでしょうか? しかし、文字コードの変換はビューのヘルパーの方が妥当な気もしますが何を どこで処理すべきなのかこんがらかっております・・・ 人によって実装する処理も異なるかと思うのですが一般的な流れなどを教えて いただけますと幸いです。 ちなみに現在は、DBの接続など初期設定を全てBootstrap.phpで行っています。 ※_initDb()など セッションの開始などもBootstrap.phpで行っており、初期設定が増えるに つれて、メソッドも増えるのでソースも長くなってしまいます。 後のメンテを考慮しそれぞれの処理を各プラグイン化しようかと思っている のですがこのような使い方は正しいでしょうか? 最初は、下記のように1つのプラグインを作成しメソッドが実行される タイミングに合わせDBの接続など必要な処理を行い、これで完結すれば いいかと思ったのですが結果、現在のBootstrap.phpと同様です。 class Ext_Plugin_Setup extends Zend_Controller_Plugin_Abstract { public function routeStartup(Zend_Controller_Request_Abstract $request) { echo 'routeStartup<br>'; } public function routeShutdown(Zend_Controller_Request_Abstract $request) { echo 'routeStartup<br>'; } public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request) { echo 'routeStartup<br>'; } public function preDispatch(Zend_Controller_Request_Abstract $request) { echo 'routeStartup<br>'; } public function postDispatch(Zend_Controller_Request_Abstract $request) { echo 'routeStartup<br>'; } public function dispatchLoopShutdown() { echo 'routeStartup<br>'; } } 無理にプラグインを使わなくても・・・という事も考えられますが理解を 深めたく思っておりますので詳しい方がいらっしゃいましたらアドバイス お願いいたします。

    • ベストアンサー
    • PHP
  • ZendFremeworkインストールについて

    index.phtmlが設置されていない等でのエラーが表示されるケースはgoogleなどで表示されるのですが、 Broker.phpに関するエラー表示が見つかりませんでしたので、質問させて頂きました。 今回新しい案件で、ZendFremeworkに関して作成出来るようになるべく、 ZendFremeworkに関連するサイトを閲覧しながら、インストールしました。 html/index.phpに下記のように、コードを挿入し、バージョン確認を行った所、 正常に動作しました。 require_once 'Zend/Version.php';  //ライブラリの読み込み echo Zend_Version::VERSION;     //現在のZend Frameworkのバージョンを表示 ですが、下記の分に変更した所、エラーが発生しました。 require_once 'Zend/Controller/Front.php'; Zend_Controller_Front::getInstance()->setParam('noViewRenderer', true); Zend_Controller_Front::run('../zend_app/controllers'); [エラー内容] ============================================================== Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)' in (略)\Zend\Controller\Dispatcher\Standard.php:248 Stack trace: #0 (略)\Zend\Controller\Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 (略)\Zend\Controller\Front.php(212): Zend_Controller_Front->dispatch() #2 (略2)\Zend\index.php(11): Zend_Controller_Front::run('../zend_app/con...') #3 {main} Next exception 'Zend_Controller_Exception' with message 'Invalid controller specified (error)#0 (略)\Zend\Controller\Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 (略)\Zend\Controller\Front.php(212): Zend_Controller_Front->dispatch() #2(略)\Zend\Controller\Plugin\Broker.php on line 336 ============================================================= バージョンが表示できているので、インストール自体は出来ていると思うのですが、 実際にコントローラーを設定した時には、何を行ってもこの現象が起こってしまいます。 いくら検索しても、見つからなかったので、質問させて頂きました。 どうぞ宜しくお願いします。 [ 開発環境 ] XAMMP (PHP5.3.1) Windows7(64bit) 下記のようなフォルダ構成となっております。 ===================================== /Zend(公開エリア)    .htaccess    index.php /zend_app(アプリケーションエリア)    /controllers       IndexController.php    /models    /views       /scripts          /index             index.phtml /ZendFramework(フレームワーク本体)    /library /Zend /Controller ======================================

    • 締切済み
    • PHP
  • Zend Frameworkのコントローラー名について

    Zend Frameworkのコントローラー名について 現在 CentOS release 5.3 (Final) PHP5.2.14 Zend v2.2.0 にて開発を行っております。 今回URL(コントローラ名)にアンダースコアをつけたい要件があるのですが、可能なのでしょうか? 可能な場合その方法をご教授くださいませ。 例)http://hoge.co.jp/aaa_bbb/ aaa_bbbをコントローラとしたいのですが、Zendの命名規則ではできないようなのですが、 何かしら方法があるのでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • PHP