2012-01-17 9 views
1

.htaccessは公開ディレクトリのすぐ外側にあります。それに追従している:私のパブリックフォルダでこのZend Frameworkセットアップの公開ディレクトリから他のファイルにアクセスできないのはなぜですか?

SetEnv APPLICATION_ENV development 

RewriteEngine On 
RewriteCond %{ENV:REDIRECT_STATUS} 200 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 

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

は私のCSSファイルとCSSのフォルダに移動し、また、Zendのルートindex.phpファイル、です。

しかし、[sitename] .com/css/test.cssと入力すると、「無効なコントローラが指定されています(css)」と表示され、そのcssフォルダとファイルにアクセスしようとする代わりにルーティングが行われます。誰かが?私はこのことを理解するのに役立つ可能性があり、これがどのように動作するかにしているかのように混乱し

ありがとう!

は、だから今、私はパブリックディレクトリへのhtaccessファイルを移動し、ちょうど読んで最後の書き換えルールを変更し

UPDATEただし、[sitename] .comに対するすべての要求は、[sitename] .com/publiに移動されます。 c。私はまだcssフォルダにアクセスできません。どんな助け?

UPDATE、答え

[OK]を、私は問題を解決したと思います。私はPHPFogのホステッドセットアップを使用していました。私は本質的に2つの.htaccessファイルが必要でした。 1つはルートディレクトリ用、もう1つはパブリックディレクトリ用です。

RewriteEngine On 

RewriteRule ^\.htaccess$ - [F] 

RewriteCond %{REQUEST_URI} ="" 
RewriteRule ^.*$ /public/index.php [NC,L] 

RewriteCond %{REQUEST_URI} !^/public/.*$ 
RewriteRule ^(.*)$ /public/$1 

RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule ^.*$ - [NC,L] 

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

とパブリックディレクトリの

、私はあなたがファイルが存在する場合のためにそこに RewriteCond %{REQUEST_FILENAME} -fが必要だと思う

SetEnv APPLICATION_ENV production 

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 
+0

.htaccessは公開ディレクトリにある必要があります。 "outside outside of" – nachito

+0

Okはhtaccessファイルをパブリックディレクトリに移動しました。私の更新された質問がまだ説明しているので、まだ問題があります。 – Shaan

+0

DOCUMENT_ROOTを/ full/path/to/publicに変更することができれば、うまくいくはずです。そうでない場合は、 'RewriteEngine on'のすぐ下に' RewriteBase/public'を追加してください。 – nachito

答えて

0

...

しかし:ルートディレクトリでは、私は、この使用しましたpublicの上にあるフォルダは、HTTP経由でアクセスする必要があります。 publicフォルダのみが存在し、.htaccessはpublicに存在する必要があります。 publicはサイトのDOCUMENT_ROOTである必要があります。

+2

'-s'はそれを処理する必要があります。http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond:" '-s'(サイズは普通のファイルです) " – nachito

+0

ドキュメントルートを公開しますか? – Shaan

+0

@shaan:それはあなたのホスティング設定によります。 – prodigitalson

関連する問題