2010-07-08 53 views
0

我的网站似乎只加载索引页面,无论它给出什么路径。如何让Zend与IIS 7.0(重写模块V2)和Windows 2008一起工作?

有没有人知道任何已知的问题,让Zend与IIS 7.0(重写模块V2)和Windows 2008正常工作?

我对此感到绝望,无法找到任何合适的解决方案?

我可以把一个phpinfo()屏幕截图,如果它有帮助吗?

以下信息在phpinfo()函数设置

_SERVER["HTTP_X_ORIGINAL_URL"] /prices/ 

重写似乎在这个意义上它总是命中index.php页面只是有时工作给出了网页404和犯规加载正确的意见。

+0

是否有可能事情是你的代码错误? htaccess的?你的应用程序的basepath?在Apache上,我会谈论你的httpd.conf文件。 – Iznogood 2010-07-08 21:52:05

+0

可能是我想找出它可能是什么,因为所有的路由都是在zend库内完成的,所以不知道我的代码中可能存在什么问题,但有什么想法? – Andrew 2010-07-08 22:35:19

+0

我的第一个评论包含3条建议。 – Iznogood 2010-07-09 04:54:51

回答

2

这是一个与.htaccess文件不能正确转换IIS中modrewrite v2的导入功能的问题。

这是正确的标准配置重写:

<rewrite> 
      <rules> 
       <rule name="Zend Standard Rule" stopProcessing="true"> 
        <match url="^(.*)$" ignoreCase="false" /> 
        <conditions logicalGrouping="MatchAll"> 
         <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?route={R:1}" appendQueryString="true" /> 
       </rule> 
      </rules> 
     </rewrite> 

希望这可以帮助别人