0

我有一个用 Codeigniter 2.1.4 编写的应用程序,它可以在我安装了 WAMP 的本地机器上运行。

将项目移到生产服务器上时,Codeigniter 路由停止工作。登录表单操作一个控制器方法,但我被路由到网站的主页。如果我手动尝试输入 Web 应用程序的任何部分,也会发生同样的情况,即使我有未登录到应用程序的重定向逻辑。

我的生产服务器安装了 IIS6 和 IsapiRewrite4。

我尝试将 CodeIgniter 附带的 .htaccess 文件中的所有重写规则复制到 IIRF.INI 文件中,但我无法让它工作。

这些是默认的 .htaccess 规则:

RewriteEngine on
RewriteCond $1 !^(index\.php|public|\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1

我读过您可以将其粘贴到 IIRF.INI 文件中,它应该可以工作,但没有运气。

另外,我不确定将 IIRF.INI 文件放在哪里,我猜测另一个 .htaccess 所在的 CodeIgniter 根目录。

我还注意到还有其他 .htaccess 文件,一个在/core文件夹中,一个在/application文件夹中,一个在/application/cache文件夹中。

更改/添加 IIRF.INI 文件时是否需要在生产服务器上重新启动 IIS?

我也尝试过这里建议的规则,但没有运气:Configure htaccess to work with IIRF on IIS6 - codeigniter

谁能帮忙???也许它甚至不是重写问题,我不确定......如果您需要任何其他信息,请告诉我。

4

1 回答 1

2

Isapi Rewrite 是 Helicon Tech 的产品。Helicon 产品使用的配置文件与使用 IIRF.ini 文件的 Ionic IIRF isapi 重写模块略有不同。我认为你把你的产品搞混了。

请参阅http://www.helicontech.com/isapi_rewrite/上的 Helicon 文档

或者,离子 ISAPI 重写模块可在https://iirf.codeplex.com/获得

于 2013-11-06T11:49:02.723 回答