.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]
.htaccessは公開ディレクトリにある必要があります。 "outside outside of" – nachito
Okはhtaccessファイルをパブリックディレクトリに移動しました。私の更新された質問がまだ説明しているので、まだ問題があります。 – Shaan
DOCUMENT_ROOTを/ full/path/to/publicに変更することができれば、うまくいくはずです。そうでない場合は、 'RewriteEngine on'のすぐ下に' RewriteBase/public'を追加してください。 – nachito