1

私は自分のローカル マシンで作業している Zend Framework アプリケーションを持っています。それをサーバーにデプロイしましたが、すべてではなく一部のルートが " Page Not Found "で失敗するため、.htaccess の問題があります。一部のコントローラーにアクセスできないのは非常に奇妙です。

私の .htaccess は次のとおりです。

RewriteBase /~user/path/to/app/public/

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

このエラーはローカル マシンでは発生せず、サーバーでのみ発生します。サーバー上で「ページが見つかりません」というエラーが発生するコントローラーに共通する唯一のことは、コントローラー名がキャメルケースであることです。

機能するコントローラー: CustomerController、InvoiceController、StockController。失敗するコントローラー: SuppliersStockController、StockTypesController。

「www.route/to/app/stock-types/」や「/stock.types/」などを実行しようとすると、「アプリケーション エラー」が発生します。

4

1 に答える 1

8

大文字と小文字を区別するファイル システムの影響が見られます。

に移動すると、ZF はMac OS X や Windows などの大文字と小文字を区別しないシステム/stocktypes/indexを探して成功します。StocktypesController.phpただし、Linux では失敗します。

にアクセスする/stock-types/indexと、ZF はStockTypesController.phpLinux でそれを探して見つけます。

ZF が CamelCased コントローラー名を見つけると、ハイフンのあるビュー フォルダーを探します。

于 2012-04-30T07:49:59.367 に答える