私はzendフレームワークで作成されたPHP Webアプリケーションを持っています。ドキュメントルートはpublic_htmlで、ホスティングプロバイダはpublic_html/publicサブディレクトリに変更することはできません。別のサブディレクトリベースのアプリケーションをZend Frameworkのサブディレクトリベースのアプリケーションに追加
public_html/public
public_html/application
public_html/application/controllers
など
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{SERVER_NAME}/$1 [R,L]
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]
は今、私はその新しい要件を持っている..:私は私のアプリは、以下のディレクトリレイアウトで作業することができ、次の.htaccessファイルを見つけたとして、それは問題ではありませんでした私は同じドメインのpublic_htmlの別のサブディレクトリから別のWebアプリケーションを実行する必要があります。つまり、public_html/otherを呼び出すことができます。
.htaccessファイルを変更して "other"を含むリクエストをpublic_html /その他のサブディレクトリですが、それは常に
RewriteCond %{REQUEST_URI} !^/other/.*$
RewriteRule ^(.*)$ /other/$1
すべてが壊れ、すべての要求が500システムエラーになります。これを実現するために書き換えルールを作成する方法に関する提案はありますか?
zendファイルをパブリックディレクトリの外に保管してみませんか? – dqhendricks
私のzendファイルはパブリックディレクトリの外にあります。パブリックディレクトリには、index.phpファイルと.jsファイルとimgファイルだけが含まれています。他のすべてのコード(モデル、ビュー、コントローラなど)はアプリケーションディレクトリの下にあります。 –
Spackman私はpublic_htmlの外にありました – dqhendricks