2011-09-14 9 views
1

私は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システムエラーになります。これを実現するために書き換えルールを作成する方法に関する提案はありますか?

+1

zendファイルをパブリックディレクトリの外に保管してみませんか? – dqhendricks

+0

私のzendファイルはパブリックディレクトリの外にあります。パブリックディレクトリには、index.phpファイルと.jsファイルとimgファイルだけが含まれています。他のすべてのコード(モデル、ビュー、コントローラなど)はアプリケーションディレクトリの下にあります。 –

+0

Spackman私はpublic_htmlの外にありました – dqhendricks

答えて

1
RewriteRule ^other - [L] 

とする必要があります。

+0

そうです。それは動作します – ApolloSoftware

+0

まあ、それは簡単だった。ありがとうございました! –

関連する問題