我最近将我的CodeIgniter应用程序从v1.7.2升级到2.0.2。
我使用mod_rewrite生成没有index.php的干净网址,例如example.com/controller/action
。它正在我的本地开发服务器上工作但是当我更新我的生产应用程序时,所有对example.com/controller/action
的请求都会导致显示主页面(即index.php)。
当我访问这样的地址时:example.com/index.php/controller/action
它可以正常工作。
Mod_rewrite已启用,因为它在以前的代码版本中运行正常。使用1.7.2我使用$config['uri_protocol'] = "AUTO"
,但现在我切换到"PATH_INFO"
,因为自动生成了404。
因为它正在开发我想知道我是否错过了任何部署步骤。有什么想法吗?
答案 0 :(得分:0)
我在CI 2中使用.htaccess规则:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
<IfModule mod_rewrite.c>
#paths that you don't want to rewrite
RewriteCond $1 !^(index\.php|assets|session|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>
答案 1 :(得分:0)
我认为我有一些类似的问题,我相信它已通过将我的根文件夹的权限更改为777来解决...但这是在XAMPP上