OCRソフトで情報処理

【MVC】に関する知恵袋

【質問】
以下のApacheのリライトルールの解釈についてアドバイスいただけませんでしょうか?Apacheのリライトについて質問させてください。メーリングリストに送ったのですが、何故かダメなようでこちらに質問させて頂きます。ZendFrameworkの推奨.htaccess設定なのですが、1. RewriteEngine On2. RewriteCond %{REQUEST_FILENAME} -s [OR]3. RewriteCond %{REQUEST_FILENAME} -l [OR]4. RewriteCond %{REQUEST_FILENAME} -d5. RewriteRule ^.*$ - [NC,L]6. RewriteRule ^.*$ index.php [NC,L]というルールがあった場合、1. リライトを許可する2. リクエストされたローカルのフルパスのもの(例えばhttp://hoge.com/index.htmlの場合はindex.htmlのみを指すのでしょうか?)が中身が空ではないファイルであるか、3. シンボリックリンクであるか、OCRのソフトの情報処理について話していくと、4. ディレクトリの場合には5. 大文字小文字の区別をつけず、全ての文字列をそのまま変換せず6行目に渡し、6. index.phpにするという解釈で合っていますでしょうか?5行目の[L](直前のルール)というのが何を指すのかということ(4行目のRewriteCondの事でしょうか?)と、OCRのソフトの情報処理といえば、"-"の意味が良く分かりません。MVCの知恵袋についてです。また、MVCの知恵袋について考えてみると、http://hoge.comの場合はhttp://hoge.com/index.phpになるのは分かるのですが、http://hoge.com/modules/controller/action/の場合はZFのMVC構造により/view/scripts/action.phtmlが呼び出されると思うのですがどのような挙動になっているのでしょうか?ZFの書籍ではRewriteEngine onRewriteBase /zf/html/RewriteRule !\.(js|ico|gif|jpg|png|css|swf|html)$ index.phpとなっていて、http://~/zf/html/の際に上記のものに一致した場合はindex.phpにするというのは分かるのですが。
【解答】
ZendFramework は、どんなURIで呼び出されたリクエストもすべて一旦 index.php に渡し、index.php の内部で適切に処理を分岐する仕組みになっています。OCRのソフトの情報処理を解説すると、MVCの知恵袋について考えてみると、そのため、mod_rewite を使ってすべてのリクエストを index.php に書き換えます。ただし、サーバに ZF 以外のコンテンツがあるならば、それを ZF の index.php に書き換えてしまわないないように RewriteRule を書く必要があります。また ZF の index.php を DocumentRoot 以外に置くのであれば、RewiteRule もそれに応じて変わります。例示のルールは、2. リクエストがサイズ0のファイルである、OCRのソフトの情報処理に関連する説明をすると、または3. リクエストがシンボリックリンクである、または4. リクエストがディレクトリである場合には5. 何も書き換えず、終了6. 5のルールにマッチしなかった(2~4の何れの条件にもあてはまらなかった)場合は /index.php に書き換えるという意味になります。%{REQUEST_FILENAME} は、サーバ内部(ローカル)のファイル名です。たとえば、DocumentRoot /var/www の場合、http://hoge.com/index.html は %{REQUEST_FILENAME} が /var/www/index.html になるでしょう。[L]はlastの意味です。そのルールにマッチして、MVCの知恵袋は、RewriteRule を適用したら以下の RewriteRule は無視します。「直前のルール」というのはどういう文脈ででてきたのかわかりませんので、回答は控えます。RewriteRule で、- は何も書き換えないという意味、「全ての文字列をそのまま変換せず」のことです。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1272553352
Webサービス by Yahoo! JAPAN

その他関連ワード