Zend framework Zend Framework的Windows Azure重写规则

Zend framework Zend Framework的Windows Azure重写规则,zend-framework,iis,azure,frameworks,rewrite,Zend Framework,Iis,Azure,Frameworks,Rewrite,目前,我在apache上拥有以下htaccess: SetEnv APPLICATION_ENV development RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC

目前,我在apache上拥有以下htaccess:

SetEnv APPLICATION_ENV development

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
我的应用程序使用Zend Framework作为MVC框架,目前我的htaccess位于我的公用文件夹中

在MS Azure上,我在IIS中创建了一个网站,并在我的根目录中放置了一个web.config文件,配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
          <rules>
                <clear />
                <rule name="TransferToPublic-StaticContent" patternSyntax="Wildcard" stopProcessing="true">
                    <match url="*" />
                    <conditions logicalGrouping="MatchAny" trackAllCaptures="false">
                        <add input="{REQUEST_URI}" pattern="*images*" />
                        <add input="{REQUEST_URI}" pattern="*css*" />
                        <add input="{REQUEST_URI}" pattern="*js*" />
                        <add input="{REQUEST_URI}" pattern="*bootstrap*" />
                        <add input="{REQUEST_URI}" pattern="*upload*" />
                        <add input="{REQUEST_URI}" pattern="*theme*" />
                        <add input="{REQUEST_URI}" pattern="*img*" />
                    </conditions>
                    <action type="Rewrite" url="public/{R:0}" />
                </rule>
                <rule name="Imported Rule 1" stopProcessing="true">
                    <match url="^.*$" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="public/index.php" />
                </rule>
          </rules>
        </rewrite>
        <defaultDocument>
            <files>
                <clear />
                <add value="index.php" />
            </files>
        </defaultDocument>
    </system.webServer> 
</configuration>

问题是,现在我无法访问具有以下路径/public/index或/public/test的页面

我做错了什么?配置中是否缺少某些内容?IIS上Zend Framework的建议配置是什么


提前感谢您的帮助

我知道这个问题有点老了,但是如果您没有解决您的问题,下面是关于如何在IIS上配置Zend Framework的答案

但可能您的问题还在于设置文档根。您不应该将重写指向“public/index.php”,而应该只指向“index.php”,然后设置正确的文档根

以下是我针对Azure网站回答的问题: 仍在等待Azure云服务的答复:

当您自己配置IIS时,Azure VM应该是不言自明的