/var/www/html/zend_example
の下にデフォルトのZend Frameworkアプリケーションがインストールされています。公開ディレクトリは/var/www/html/zend_example/public
です。他のディレクトリを無視し、サブディレクトリで作業するようにZend Frameworkを設定しますか?
私は/var/www/html
に他の非影響サイトもあります。たとえば、/var/www/html/other_site
となります。
http://MYDOMAIN/zend_example
の下で動作するようにZFサイトを設定するには、どうすればhttp://MYDOMAIN/other_site
を動作させることができますか?ここで
は私のApacheの設定ファイルである:ここで
<VirtualHost *:80>
DocumentRoot /var/www/html/zend_example/public
SetEnv APPLICATION_ENV "development"
<Directory /var/www/html/zend_example/public>
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
は/var/www/html/zend_example/public
で.htaccess
ファイルです。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
も他を持ちながら、私はちょうど、開発ZFサイトの稼働を取得したいです利用可能なサイト(同じベースURLの下)。
すべてのリクエストは、ベースURL(http:// MYDOMAIN)にリダイレクト(または書き換え)されます。
ありがとうございます!
編集#1
各DocumentRoot
が、むしろ各サイトのサブディレクトリよりも、/var/www/html
に設定されているように、私はzend_example
とother_site
の両方のためのバーチャルホストを編集しました。これにより、それぞれのURLのother_site:http://MYDOMAIN/other_site
とzend_example:http://MYDOMAIN/zend_example/public
の両方のサイトにアクセスすることができました。今、私は/var/www/html/zend_example/public
ディレクトリにある.htaccess
ファイルに問題があると考えています。私はIndexControllerを指すべきであるhttp://MYDOMAIN/zend_example/public/index/index
のようなデフォルトの "Zend" URLにアクセスすることはできません。代わりに404
エラーが表示されます。
編集#2
私はzend_example
1を除くすべてのバーチャルホストを無効にし、zend_exampleバーチャルホストがDocumentRoot /var/www/html
セットを持っている場合、私は特定のデフォルトのZendの経路を含む、http://MYDOMAIN/zend_example/public
下Zendのサイトを実行することができています、 http://MYDOMAIN/zend_example/public/index/index
などです。別の仮想ホストを有効にすると、これは壊れますが、Zendのメインインデックスページにはまだアクセスできます(http://MYDOMAIN/zend_example/public
)。私は時間のためにこれをいじることになった
編集#3
。私のサーバがcentos 6.0であるので、実行する必要のある独自の設定があるようです。私はDebian 6.0サーバをセットアップしてしまい、Zendサイトを含め、バーチャルホストのセットアップを正しく行うことができました!私はまだ戻ってcentosの問題を解決したいと思います。
セットアップが正しいと思われます。それは働いていないのですか?あなたがもうother_siteのVHostでない場合は、私が追加する唯一のものはありません。 – vascowhite
@vascowhite Zendのサイトは、http:// MYDOMAIN/'ではなく、http: // MYDOMAIN/zend_example'。また、 'http:// MYDOMAN/other_site /'のようなURLにアクセスすることを防ぎます(Zendアプリケーションのエラーだけで)。 –
CentOSではなくDebian上で動作する場合、問題は特定のファイルやディレクトリの所有権/許可にある可能性があります。私はこれまでubuntuを設定しようとしたときに遭遇しました。 – RockyFord