用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2960|回复: 4
收起左侧

[已解决] 关于CI2.0伪静态化的疑问

[复制链接]
发表于 2011-8-5 02:26:51 | 显示全部楼层 |阅读模式
设置.htaccess如下:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$        index.php/$1 [L]
#新闻模块
RewriteRule ^index.php/notice-detail-([0-9]+).html$ index.php/notice/detail/$1.html

http://ci.com/notice-detail-2.html  (CI2.0提示404)
http://ci.com/notice-detail-2.html   (CI1.7可以执行notice/detail/)
设置路由的话
$route['notice-detail-(:num)'] ="notice/detail/$1"; CI2.0可以生效URL
$route['notice-detail-(:num)'] ="notice/detail/$1"; 1.7URL404
求真相
发表于 2011-8-5 11:23:59 | 显示全部楼层
这个用路由就可以做到,无需 rewrite。

路由你没有把 .html 放到规则里,这个你多调试调试,多尝试几种组合就可以了。
 楼主| 发表于 2011-8-5 11:45:56 | 显示全部楼层
2.0下
RewriteRule ^index.php/notice-detail-([0-9]+)$ index.php/notice/detail/$1

http://ci.com/notice-detail-2 (CI2.0提示404)
http://ci.com/notice-detail-2   (CI1.7可以执行notice/detail/)
同样不能rewrite
发表于 2011-8-5 12:48:07 | 显示全部楼层
不要用 rewrite 来实现路由能实现的功能。

建议仔细阅读 http://codeigniter.org.cn/user_guide/general/routing.html
 楼主| 发表于 2011-8-5 12:53:08 | 显示全部楼层
请问那我怎么升级?原来的rewrite规则全部写成配置放在routes里面?

本版积分规则