0

http://www.youtube.com/watch?v=Aw28-krO7ZM(Create Your Own MVC-Jream)に基づいてカスタムPHP MVCフレームワークを構築していますが、ローカルWebサーバーとしてIISを使用しています。URL書き換えモジュールをインストールし、次のルールを追加しました。

<rewrite>
  <rules>
    <rule name="MyRewriteRule" stopProcessing="true">
      <match url="^(.*)$" ignoreCase="false"/>
      <action type="Rewrite" url="index.php?url={R:1}" appendQueryString="true" />
      <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" />
      </conditions>
    </rule>
 </rules>
</rewrite>

MVCは次のように構成されています。

application(folder)
   config(folder), controllers(folder), view(folder), model(folder) etc...
public(folder)
   css, images, js, etc...
index.php
web.config

URLhttp://localhost:8080/MyApp/は問題なく機能しますが、http://localhost:8080/MyApp/index/失敗します...または/home/legalそのことについては任意のコントローラー。カスタムBootstrap.phpファイルでは、次のコードが実行されます。

<?php class Bootstrap{
   function __construct(){
      //format the url
      $url=isset($_GET['url'])? $_GET['url']: null; //when a controller is specified it fails before even hitting this point, im sent to the error 404 page before getting past here
      $url=rtrim($url,'/');
      $url=explode('/',$url);

      if(empty($url[0])){
         require 'application/controllers/index.php';
         //.....blah blah blah
      }
        //more irrelevant code...
         require 'application/controllers/'.url[0]'.php';
      //more irrelevant code...
     }} ?>
4

1 に答える 1

0

変更を開始

require 'application/controllers/'.url[0]'.php';

require 'application/controllers/'.$url[0]'.php';

于 2012-10-26T06:29:58.297 に答える