2013-10-09 74 views
0

我在做php編程IIS。我使用的php框架是Yii。隱藏index.php並使用友好的URL我啓用urlManagerconfig.php文件。我的問題是,當我嘗試導航到我的控制器服務器返回錯誤404。我認爲重寫規則有問題,但我不熟悉IIS Web服務器。有誰能夠幫助我?重寫規則在IIS上不起作用

+1

請閱讀答案IIS文檔。 –

+0

@Matt你會給我鏈接嗎? – hamedkh

+1

這很容易找到一個簡單的谷歌搜索。請付出一些努力。 –

回答

2

我已經解決了我的問題。這是原來的規則.htaccess

RewriteEngine on 

# if a directory or a file exists, use it directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

# otherwise forward it to index.php 
RewriteRule . index.php 

這裏是它的翻譯web.config格式:

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

<directoryBrowse enabled="false" /> 

    <rewrite> 
     <rules> 
     <rule name="Hide Yii Index" 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" appendQueryString="true" /> 
     </rule> 
     </rules> 
    </rewrite> 

</system.webServer> 
</configuration>