0

ZendFrameworkを使用してアプリケーションを開発しています。ローカルホストで開発し、abc.mydomain.comなどのサブドメインにアップロードします。レイアウトindex.phtmlをアップロードすると、すべてのURLに対して次の情報が表示されます。

abc.mydomain.com/css/base.css 404 (Not Found)

Webブラウザコンソールにありますが、私のCSSはパブリックフォルダにあります。

このcssをリンクする私のコードは:

<?php echo $this->headLink()->appendStylesheet('/css/base.css') ?>

これらのアドレスを機能させるにはどうすればよいですか?

私の質問を完了するには:フレームワークはフォルダーとコントローラーをどのように区別しますか、またはこれらのURL assアクションに作用しないようにフレームワークに指示するにはどうすればよいですか?これらはフォルダーですか?

4

2 に答える 2

0

通常、baseUrl()view-helperはZend_Controller_Front::getBaseUrl()、アプリのbase-urlが何であるかを(内部的にはメソッドを使用して)検出します。

ただし、vhostの設定と、ドキュメントルート内のパブリックフォルダーの場所によっては、ベースURLが何であるかをアプリに明示的に伝える必要がある場合があります。

application/configs/applicatiom.ini、次のように設定できます。

resources.frontController.baseUrl = "http://abc.mydomain.com"

baseUrl()次に、ビュースクリプトで、次のように、ビューヘルパーと相対URL(設定したベースに対する相対URL)を使用してパブリックアセットにアクセスできます。

<?php echo $this->headLink()->appendStylesheet($this->baseUrl('css/base.css')) ?>

多くの人がプレフィックスとしてのみ使用しているようですが、次のようになります。

<?php echo $this->headLink()->appendStylesheet($this->baseUrl() . '/css/base.css') ?>

于 2012-12-20T09:27:58.767 に答える
0

サブドメインのホスティングに関連するマッピングの問題のように聞こえます。public多くの場合、共有ホスティングでは、プロジェクトのフォルダーをサブドメインにマップできません。したがって、要求されたURLについてZFを混乱させることなく、ページとアセットの要求を適切なディレクトリにマップするには、さまざまな書き換えのトリックが必要です。

チェックアウト:

http://www.papayasoft.com/2010/05/08/zend-framework-shared-hosting/

問題の説明とそれを解決するためのさまざまなアプローチについて。

于 2012-12-21T09:56:40.363 に答える