我有一个用 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
谁能帮忙???也许它甚至不是重写问题,我不确定......如果您需要任何其他信息,请告诉我。