2012-10-09 16 views
5

私は次のweb.configコードでURLの「index.phpを」の部分を削除することができます理解:IIS上でCodeigniterのindex.phpを削除しますか?

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

問題は、私は、サブディレクトリ(mydomain.com/codeigniter)にCIをインストールしているありますweb.configファイルの理解に問題があります。

これを変更してサブディレクトリで動作するように知っていますか?

ありがとうございました:)

+0

書き換えURLパスにサブフォルダを追加しようとしましたか? '' –

+0

ありがとう!それは私の最初のルールがない場合にのみ機能します。私は実際にはトップディレクトリ用とサブディレクトリ用の2つが必要です。 – stuthemoo

答えて

11

私は、ルートディレクトリとサブディレクトリ内の私のCodeIgniterアプリケーションでワードプレスを持っています。同じようなweb.configを作成し、サブディレクトリに保存します。私のCIアプリケーションでは、URLにindex.phpは必要ありません。

最初にサブディレクトリを<action url="myapp/index.php/{R:1}"...>に追加して、サブディレクトリのみを見るように制限されてもうまくいかず、失敗することを望みます。私はサブディレクトリを削除して元のままにしますが、web.configをサブディレクトリに移動すると動作します。

したがって、異なるルールを持つ2つのweb.configファイルを作成し、別のディレクトリに保存することが考えられます。

もう1つ注意が役立ちます。エラーメッセージを有効にしてIISから詳細を出力できます。私はこのトリックを使用して、IISが自分のファイルを探す方法を見つけます。それは以下のように<httpErrors errorMode="Detailed" /><asp scriptErrorSentToBrowser="true"/>、および<system.web>セクションです:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 

    <system.webServer> 

     <httpErrors errorMode="Detailed" /> 
     <asp scriptErrorSentToBrowser="true"/> 

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

    </system.webServer> 

    <system.web> 
     <customErrors mode="Off"/> 
     <compilation debug="true"/> 
    </system.web> 

</configuration> 

は、それが助けてほしいです!

+0

ありがとう、私はそれを日中探していた。 :) – Kits

+0

ソリューションありがとうございます:) –

関連する問題