質問

私は、Zend FrameworkでWebアプリケーションを構築しています、と私は、アプリケーションの「パブリック」フォルダに私のアプリを指定する必要があります:

だから、基本的に私はhttp://localhost/myapp呼び出すとき それはhttp://localhost/myapp/public/が表示されるはずです。

私は、/ etc / apache2の/サイト利用可能/ myappのに呼ばれる仮想ホストのファイルを作成しました

    <VirtualHost *:80>
DocumentRoot /var/www/myapp/public/
 <Directory />
  Options FollowSymLinks
  AllowOverride None
 </Directory>
 <Directory /var/www/myapp/>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride None
  Order allow,deny
  allow from all
 </Directory>

</VirtualHost>

しかし、それは動作しません。私は呼び出すとます。http:// localhost /をmyappのに、それはアプリのディレクトリ構造を表示し、とき、私はをクリックしてください「パブリック」フォルダには、それは私がデフォルトで表示させたいものを表示します... 私は前にバーチャルホストを設定したことがない、それは限り、私はそれについてのチュートリアルになったようです。

役に立ちましたか?

解決 2

[OK]を私は道何とか見つかった...私はそれが右/最良の方法が、...

必要はないと思います

(apache2のフォルダ内の)httpd.confの

Listen 10089

<VirtualHost *:10089>

    DocumentRoot "/var/www/myapp/public"

    <Directory "/var/www/myapp/public">

        Order allow,deny

        Allow from all

    AllowOverride all

</Directory>

</VirtualHost>

私のアプリがローカルホストを経由してアクセスできるようになりました:10089 Apacheでのリライトのmodを有効にした後、私は(Zendのフレームワークは、フレンドリーURLナビゲーションをサポートし、そのように動作します)のindex.phpにすべてをリダイレクトし、必要な.htaccessを、私のアプリのルートに1を追加します:

RewriteEngine on

RewriteRule .* index.php

と私のパブリックフォルダ内の第二の.htaccessファイルには、すべてのインデックスにリダイレクトされ、人々は.JPG、.icoファイルなどのファイルとないにアクセスすることを可能にする:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -s [OR]

RewriteCond %{REQUEST_FILENAME} -l [OR]

RewriteCond %{REQUEST_FILENAME} -d

RewriteRule ^.*$ - [NC,L]

RewriteRule ^.*$ /index.php [NC,L]

これはいくつかの助けを願っています!

他のヒント

あなたの最初のリストでは、あなたは完全に「国民オフのまま、ディレクトリタグに異なる値を持っていました。そこ末尾にスラッシュがDOCROOT値の「国民の後でもあったが、2番目の試みで除去します。わからない違いを作ったが、私はあなたが最後のスラッシュが含まれていないことをお勧めします信じています。

また、ただ不思議...あなたは、ローカルマシン上でこれを実行していますか?私は、Skypeは、私は私のApacheサーバの前にあることを実行し始めた場合は、ポート80を使用したいとのトラブルがありました。 80がすでに使用されている場合Skypeは別のポートを使用します。スカイプでない場合は、ポート80を使用し、干渉だ、別のアプリがあるかもしれません。あなたが別のポートで成功を収めた理由が考えられます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top