Codeigniter 控制器链接在 IIS 中不起作用

Posted

技术标签:

【中文标题】Codeigniter 控制器链接在 IIS 中不起作用【英文标题】:Codeigniter Controller link is not working in IIS 【发布时间】:2020-04-10 00:33:05 【问题描述】:

我创建了一个网站并托管在 IIS 服务器中,但我无法访问我网站的内部链接。

例如:http://example.com/about 其中 'about' 是控制器。

这里 http://example.com 运行良好,但 http://example.com/about 返回 404 错误。

【问题讨论】:

您是否通过htaccess 删除了index.php?试试http://example.com/index.php/about 你需要查看你的 .htaccess 文件 检查子文件夹的安全组权限,见***.com/questions/14934006/… 对于声明使用 .htaccess 的评论者:IIS 不使用 .htaccess,.htaccess 用于 Apache Web 服务器。 @OP 还会检查您的 IIS 错误日志,请参阅 ***.com/questions/6426375/… 以了解您的日志文件应该在哪里。日志文件的路径必须在 IIS 中配置。 【参考方案1】:

据我所知,如果你想在 IIS 中托管 Codeigniter,你需要添加一些特殊的 url 重写规则来让你的应用程序运行良好。

我建议你可以先安装 IIS 的 url rewrite 扩展。

那么我建议你可以尝试在 web.config 中添加以下规则。

  <system.webServer>

    <rewrite>

      <rules>

          <rule name="Index">

          <match url="^(.*)$" />

          <conditions>

            <add input="REQUEST_FILENAME" matchType="IsFile" negate="true" />

            <add input="REQUEST_FILENAME" matchType="IsDirectory" negate="true" />

          </conditions>

                <action type="Rewrite" url="index.php/R:1" />

        </rule>

      </rules>

    </rewrite>

  </system.webServer>

【讨论】:

我没有使用 web.config 文件,没有 web.config 主页正在加载。

以上是关于Codeigniter 控制器链接在 IIS 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

数据库事务在控制器 codeigniter 中不起作用

内容在 CodeIgniter 日历中不可见

Braintree paypal 在 codeigniter 中不起作用

ng-click 在 ajax 数据表 + codeigniter 中不起作用

获取数据在 CodeIgniter 中不起作用

登录验证在CodeIgniter中不起作用