在IIS上部署PHP应用程序

时间:2016-04-26 04:11:37

标签: php codeigniter iis web-config

我正在尝试在IIS服务器上部署我的CODEIGNITER应用程序。我的测试脚本hello word正在IIS上运行,但是当我移动我的CI应用程序并且检查错误日志时,对于任何URL都会显​​示404。我试图添加web.config文件以便在root上发生重写规则仍然出现错误,这里是web.config文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
  <rewrite>
          <rules>
              <rule name="Index">
              <match url="^(.*)$" />
              <conditions>
                <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
              </conditions>
                    <action type="Rewrite" url="index.php/{R:1}" />
            </rule>
          </rules>
        </rewrite>
    </system.webServer>
</configuration>

1 个答案:

答案 0 :(得分:1)

试试这个web.config

<?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <rewrite>
                <rules>
                    <rule name="Rewrite to index.php">
                        <match url="index.php|robots.txt|images|test.php" />
                        <action type="None" />
                    </rule>
                    <rule name="Rewrite CI Index">
                        <match url="^(.*)$" />
                        <conditions>
                            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                        </conditions>
                        <action type="Rewrite" url="index.php/{R:1}" appendQueryString="false" /> </rule>
                </rules>
            </rewrite>
        </system.webServer>
    </configuration>

在config.php文件中,将$config['uri_protocol']= 'QUERY_STRING'更改为$config['uri_protocol'] = 'AUTO'