私には奇妙な問題があります。私は、Zend Frameworkのアプリケーションを開発し、このファイル構造を持っている:htaccessはフォルダに予期せずリダイレクトされます
/
/application/
/public/
/public/.htaccess
/public/index.php
/public/js/
/public/style/
/public/profile/
/.htaccess
私のドメイン・ポイントはfolder /
に私はそれがコントローラプロファイルに行くと、これは良いですが、アドレスexample.com/profile/
を入力します。私はアドレスexample.com/profile
を入力すると サーバがに私をリダイレクトします。 example.com/public/profile/
私は私が要求する場合、必ずことを解決したいと思います: example.com/profile/
または example.com/profile
を同じページがレンダリングされますが、2番目のバージョンは提供します私はリダイレクトして、私は理由を知らない。
/.htaccess
ファイルは次のとおりです。
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
このファイルの役割がルートに/へ/公衆からではなく任意のリダイレクトなしですべてのトラフィックです。
/public/.htaccess
ファイルは次のとおりです。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
誰もがこれで私を助けることができますか?ありがとう。
これを修正しました。ここで誰かが同じ問題を抱えている場合解決策は以下のとおりです。 この問題を解決するには、あなたがDirectorySlash
にOptions -Indexes FollowSymLinks
DirectorySlash Off
を次のオプションを設定し、無効にする必要がありますが、ディレクトリを指したときに今、Apacheは、URIの末尾にスラッシュを追加しないでください。 これはまた、後ろにスラッシュを付けたuriへのリダイレクトを無効にします。
あなたは するRewriteCondの%{REQUEST_FILENAME}でRewriteEngineは-s '試す[OR] するRewriteCondの%{しない理由あなたの最初のバージョンの '.htaccess'で、RewriteRule ^(。*)$ public/index.php [L]'を実行しました –
Apacheログにエラーがあります:要求が内部リダイレクト10回を超えました – Marcin
外部のhtaccessへのコード:RewriteEngine On のRewriteRule^$パブリック/ $ 1 するRewriteCondの%{REQUEST_FILENAMEは} -s [OR] するRewriteCondの%{REQUEST_FILENAMEは} のRewriteRuleを-l^* $(*) - [NC、L] のRewriteRule^* $。 index.php [NC、L]そして今私は多くの内部リダイレクトのために内部サーバーエラーが発生しました... – Marcin