【问题标题】:Page Not Found error when running CakePHP site on IIS在 IIS 上运行 CakePHP 站点时出现页面未找到错误
【发布时间】:2014-03-13 01:54:00
【问题描述】:

我正在尝试在 IIS7 上运行 CakePHP 站点,但不断收到我不知道如何修复的错误。我在主页上收到“找不到页面”消息,并且链接没有按照应有的 URL 结构 - 所有链接在域段中都有 .localhost。

当我加载主页时,出现以下错误:

找不到页面

    Error: The requested address '/' was not found on this server.
Stack Trace
APP\Controller\TributesController.php line 20 → TributesController->_checkTribute()
[internal function] → TributesController->beforeFilter(CakeEvent)
CORE\Cake\Event\CakeEventManager.php line 248 → call_user_func(array, CakeEvent)
CORE\Cake\Controller\Controller.php line 670 → CakeEventManager->dispatch(CakeEvent)
CORE\Cake\Routing\Dispatcher.php line 184 → Controller->startupProcess()
CORE\Cake\Routing\Dispatcher.php line 162 → Dispatcher->_invoke(TributesController, CakeRequest, CakeResponse)
APP\webroot\index.php line 109 → Dispatcher->dispatch(CakeRequest, CakeResponse)
ROOT\index.php line 43 → require(string)

我认为这可能是 URLRewrite 设置的问题,但我不确定,因为我已经使用了规则(来自不同的搜索结果)并且它没有停止。目前设置为:

       <rewrite>
        <rules>
            <rule name="Rewrite routed access to assets(img, css, files, js, favicon)"
              stopProcessing="true">
                <match url="^(img|css|files|js|favicon.ico)(.*)$" />
                <action type="Rewrite" url="app/webroot/{R:1}{R:2}"
                  appendQueryString="false" />
            </rule>
            <rule name="CakePHP" stopProcessing="true">
                <match url="^(.*)$" ignoreCase="false" />
                <conditions>
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                </conditions>
                <action type="Rewrite" url="index.php" appendQueryString="true" />
            </rule>
        </rules>
    </rewrite>

数据库已设置,应该没问题,但是我不确定问题是否出在需要数据库条目的页面上。在 IIS 中,网站正在查看顶级根文件夹而不是 webroot。如果我改变这个错误仍然存​​在并且我失去了样式。

网站(UAT 网站)是...

我已经检查了这个问题,但解决方案也没有奏效:Rewrite rules not working for CakePHP on IIS

我没有最好的 CakePHP 知识,所以我不确定最好的方法。

非常感谢。

【问题讨论】:

  • 我认为你的 IIS 没有问题。您在 Tributes 控制器上有错误。在你的代码上。还要确保 tmp 文件夹能够(有权限)创建其日志和 tmp 文件。
  • 谢谢,我会检查 Tributes 控制器,看看是否有任何异常。 tmp 文件确实设置了正确的权限,该站点正在创建日志和缓存文件。
  • 没问题。所以没关系。如果它正在创建缓存文件。尝试在您的控制器上工作。
  • 感谢您的帮助。问题是我没有更新 bootstrap.php 中的 MainDomain 设置。我更新了它,现在看起来它可以正常工作了......无论如何都没有错误。
  • 很高兴听到 mate.looks 不错

标签: php .htaccess cakephp iis


【解决方案1】:

我认为您的 IIS 没有问题。您在 Tributes 控制器上有错误。在你的代码上。或蛋糕配置文件。

还要确保 tmp 文件夹能够(有权限)创建其日志和 tmp 文件。

【讨论】:

  • 再次感谢您的帮助
猜你喜欢
  • 2023-03-31
  • 2016-06-20
  • 2020-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多