|
本帖最后由 apollosaar 于 2011-5-16 15:43 编辑
声明:
本帖版权均来自ci中国以及互联网,如果有涉及版权问题,与本人无关;
其中参考了Hex的去掉 URL 中的 index.php帖子及会员:TurboY的回复使用的方法有丁点不同,大致还是一样;
附:修改httpd.conf文件实现了在项目中能即时看到资源文件的显示,一般我们的资源文件是放到application\views目录下面的,照着本人修改httpd.conf文件,不仅可以在开发工具中(DW,Eclipse等等)不用去管路径的问题,在发布项目后,会自动304到相关资源文件,仅作参考!
测试环境:win7 + APMServ 5.2.6套件(Apache 2.2.9¡ PHP
5.2.6¡ MySQL 5.1.28£¦4.0.26¡ Nginx¡ Memcached¡ phpMyAdmin¡ OpenSSL¡ SQLite¡ ZendOptimizer£¬ÒÔ¼°ASP¡ CGI¡ Perl) CodeIgniter 2.0
为什么会有此贴?因为本人在参考Hex的那篇帖子实践的时候出现了错误:HTML复制代码 A PHP Error was encountered
Severity: Warning
Message: strpos() [function.strpos]: Empty delimiter
Filename: core/URI.php
Line Number: 160
A PHP Error was encountered
Severity: Warning
Message: strpos() [function.strpos]: Empty delimiter
Filename: core/URI.php
Line Number: 164 复制代码
希望此贴能帮助遇到此问题的网友!
第一步:找到 system/core/URI.php:149-156行左右
将:
修改成:PHP复制代码 if($_SERVER['SCRIPT_NAME'] != '')
{
if (strpos($uri, $_SERVER['SCRIPT_NAME']) === 0)
{
$uri = substr($uri, strlen($_SERVER['SCRIPT_NAME']));
}
elseif (strpos($uri, dirname($_SERVER['SCRIPT_NAME'])) === 0)
{
$uri = substr($uri, strlen(dirname($_SERVER['SCRIPT_NAME'])));
}
} 复制代码
据官网论坛上说明,这是一个bug,修改即可.
下面贴出我的apache配置文件,注意修改自己对应的资源文件目录!
- <VirtualHost *:80>
- ServerAdmin [url=mailto:chian.goodname@gmail.com]chian.goodname@gmail.com[/url]
- DocumentRoot "D:/Program Files/APMServ5.2.6/www/htdocs/www.com.cn"
- ServerName [url=http://www.com.cn]www.com.cn[/url]
- # Rewrite codeIgniter URI
- RewriteEngine On
- RewriteRule ^/images/(.*)$ /application/views/images/$1 [L,NC]
- RewriteRule ^/css/(.*)$ /application/views/css/$1 [L,NC]
- RewriteRule ^/js/(.*)$ /application/views/js/$1 [L,NC]
- RewriteRule ^/index\.php/(.*)$ /index.php/$1 [L,NC]
- RewriteRule ^/([^\./]+)/(.*)$ /index.php/$1/$2 [L,NC]
- RewriteRule ^/([^\./]+)$ /index.php/$1 [L,NC]
- </VirtualHost>
复制代码
这样就精简了掉了index.php,跟Hex那个帖子不同的是他用的方法是修改.htaccess(没有测试该方法,所以这里只供使用修改httpd.conf的网友参考,其它方法类似,如果使用修改.htaccess文件的方法,请参考Hex的去掉 URL 中的 index.php),
|
评分
-
查看全部评分
|