【问题标题】:IIS 6 weird behavior with Local Path over Windows 2003 ServerWindows 2003 Server 上的本地路径的 IIS 6 奇怪行为
【发布时间】:2013-02-07 12:43:17
【问题描述】:

我有一个需要指向的站点:inetpub\wwwroot\cakephp\app\webroot\

如果我将“默认网站”指向该目录,我的 Web 应用程序将完美运行。

现在,由于我想在同一台计算机上添加更多站点,我将“默认网站”指向inetpub\wwwroot\,并将我的 Web 应用程序 (cakephp) 的具体文件夹指向上一条路径inetpub\wwwroot\cakephp\app\webroot\

当我这样做时,我注意到它甚至不执行位于inetpub\wwwroot\cakephp\app\webroot\ 内的 index.php 文件,相反它应该执行。只有在直接访问站点根目录时才会这样做。

澄清一下:

  • www.myweb.com/cakephp/ 执行inetpub\wwwroot\cakephp\app\webroot\index.php

  • www.myweb.com/cakephp/actionName/NOT 执行inetpub\wwwroot\cakephp\app\webroot\index.php

为什么会这样?为什么当我向 URL 添加任何参数时它无法识别给定的路径? 它尝试列出文件夹内容...

谢谢。

【问题讨论】:

    标签: cakephp iis web-applications iis-7 iis-6


    【解决方案1】:

    你试过了吗:

    http://www.myweb.com/cakephp/index.php/Controllername/ 
    

    例如:

    http://www.myweb.com/cakephp/index.php/pages/home/
    

    如果 正常工作,则“URL 重写”不起作用。

    URL 重写在 IIS 上不能开箱即用,但可以按照文档中的说明进行配置:

    http://book.cakephp.org/2.0/en/installation/advanced-installation.html#url-rewrites-on-iis7-windows-hosts

    但是,您的设置可能需要与文档稍有不同,因为您已将网站安装在子目录中

    【讨论】:

    • CakePHP 文档只讨论 IIS 7,而 IIS 6 不适用于 web.config 文件。因此,唯一的方法是使用 Helicon ISAPI_rewrite3 修改http.conf 文件并创建重写规则。它不像htaccess文件详细here那么简单,但我终于做到了,因为我详细here
    • 很高兴你让它工作,自从我的 ASP 时代(Windows NT)以来我就没有使用过 IIS,很高兴听到你想通了
    猜你喜欢
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-19
    相关资源
    最近更新 更多