我在 Windows(使用 WampServer)上使用 CodeIgniter 和 mod_rewrite(仅用于抽象索引)创建了一个应用程序。在那种环境下,应用程序运行良好,一切正常。但是当我将它移植到生产服务器(Linux)时,重写过程刚刚停止工作。
乍一看,在我看来,linux 文件系统的“区分大小写”就是小丑。但是在重命名包含错误的文件后,问题仍然存在。
事实上。无论我调用哪个 url,重写都会一直调用 /index.php。
这是我的 .htaccess 内容:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
RewriteRule .\svn\* - [F]
我的应用程序的文件夹结构是:
doc_root
- application
-controllers
-c.php
- .htaccess
- index.php
(... everything else is codeigniter's default)