首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >windows IIS7上的Htaccess和IIS7 2

windows IIS7上的Htaccess和IIS7 2
EN

Stack Overflow用户
提问于 2012-09-19 15:27:43
回答 2查看 3.9K关注 0票数 2

我在试图在windows和II7:CakePHP 2.2.2 not working on Windows IIS7上配置mod重写时遇到了问题,但最后我可以导入htaccess,以便为IIS7创建web.config文件。

问题是:这个文件是在cakephp文件夹中创建的,我可以访问主页,但还没有在app/或app/webroot中创建,您可以在其中找到另外两个.htaccess文件。

现在,除了主站点之外,我不能访问任何其他视图,它显示一个404页未找到错误,而且我非常确定这是因为它没有在web.config上获取那些web.config文件。

我的cakephp web.config文件如下所示:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
    <rewrite>
        <rules>
            <rule name="Imported Rule 1" stopProcessing="true">
                <match url="^$" ignoreCase="false" />
                <action type="Rewrite" url="app/webroot/" />
            </rule>
            <rule name="Imported Rule 2" stopProcessing="true">
                <match url="(.*)" ignoreCase="false" />
                <action type="Rewrite" url="app/webroot/{R:1}" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>
</configuration>

尽管CakePHP文档告诉您添加不同的代码(这使视图工作,但没有加载样式)。并且主页不工作。) http://book.cakephp.org/2.0/en/installation/advanced-installation.html#url-rewrites-on-iis7-windows-hosts

当尝试从URL访问CSS文件时,我得到以下消息:

代码语言:javascript
复制
Missing Controller

Error: CssController could not be found.

Error: Create the class CssController below in file: app\Controller\CssController.php

<?php
class CssController extends AppController {

}

有什么想法吗?在窗户上和Cakephp一起工作快把我逼疯了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-19 16:09:48

好的,最后我使用我在这个站点上找到的web.config:http://www2.palomar.edu/pages/sphillips/cakephp-with-iis-7-rewrite-rules-in-a-sub-folder/来工作。

我刚把/{Path_To_CakePHP_Directory}/换成了/

票数 2
EN

Stack Overflow用户

发布于 2012-10-08 23:30:56

--我应该提一下,我的回答是对这里发布的解决方案的改进: http://www2.palomar.edu/pages/sphillips/cakephp-with-iis-7-rewrite-rules-in-a-sub-folder/

一个更简单、更灵活的修复方法是完全消除/{Path_To_CakePHP_Directory}/,包括正斜杠(/)。通过保持路径的相对性,您的项目文件夹将变得更加灵活。下面是web.config的样子:

代码语言:javascript
复制
 <configuration>
   <system.webServer>
     <rewrite>
       <rules>
         <clear/>
         <rule name="Imported Rule 0" stopProcessing="true">
           <match url="^(img|css|files|js)(.*)$"></match>
           <action type="Rewrite" url="app/webroot/{R:1}{R:2}" appendQueryString="false"></action>
         </rule>
         <rule name="Imported Rule 1" stopProcessing="true">
           <match url="^(.*)$" ignoreCase="false" />
           <conditions logicalGrouping="MatchAll">
             <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
             <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
           </conditions>
           <action type="Rewrite" url="index.php?url={R:1}" appendQueryString="true" />
         </rule>
         <rule name="Imported Rule 2" stopProcessing="true">
           <match url="^$" ignoreCase="false" />
           <action type="Rewrite" url="app/webroot/" />
         </rule>
         <rule name="Imported Rule 3" stopProcessing="true">
           <match url="(.*)" ignoreCase="false" />
           <action type="Rewrite" url="app/webroot/{R:1}" />
         </rule>
         <rule name="Imported Rule 4" stopProcessing="true">
           <match url="^(.*)$" ignoreCase="false" />
           <conditions logicalGrouping="MatchAll">
             <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
             <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
           </conditions>
           <action type="Rewrite" url="index.php?url={R:1}" appendQueryString="true" />
         </rule>
       </rules>
     </rewrite>
   </system.webServer>
 </configuration>
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12497904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档