【发布时间】: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 不错