2012-10-09 29 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

謝謝!這有效,但只有當我的第一條規則不存在時纔有效。實際上我需要兩個,一個用於頂層目錄,另一個用於子目錄。 – stuthemoo

回答

11

我的WordPress根目錄和子目錄我笨的應用程序。我創建一個類似於您的類似web.config並將其保存在子目錄中。我的CI應用程序不再需要URL中的index.php。

首先,我在<action url="myapp/index.php/{R:1}"...>中添加我的子目錄,並希望它可以被限制爲僅查看子目錄但失敗。我刪除該子目錄並將其保留爲原始狀態,但將web.config移動到子目錄並且它可以正常工作。

因此,我想也許你可能會創建兩個不同規則的web.config文件,並將它們保存在不同的目錄中。

另一個說明可能會有所幫助:啓用錯誤消息以輸出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

謝謝你的解決方案:) –