今天在学习CI框架的时候,下了一个开源的项目,想进后台看看,结果怎么都进不了,
整了一晚,总算是整出来了:
问题出在这里:
RewriteRule ^(.)$ /index.php/$1 [L]
如果你的项目不在根目录请把上面这一句改为:RewriteRule ^(.)$ index.php/$1 [L]
原因就是/index.php是服务器根目录下的index.php
在.htacess里加上这一句就好了:
RewriteRule ^(.)$ index.php/$1
让我们来看看这句话是什么意思:
^(.)$这是一个正则,匹配所有的网页格式,访问这个将会跳转到index.php/$1
也就是说如果你要访问
http://localhost/project/admin
那么要输入的就是
http://localhost/project/index.php/admin

想学习好.htacess就要学习apache的url重定向。。。有空再学吧。。
,htacess的例子:

#打开引擎
RewriteEngine on
# !-d如果访问的路径不是文件,执行下面的Rule,否则返回文件路径
RewriteCond %{REQUEST_FILENAME} !-f
# !-d如果访问的路径不是文件夹,执行下面的Rule,否则返回文件夹路径       
# %{REQUEST_FILENAME}请求的文件名
RewriteCond %{REQUEST_FILENAME} !-d
#配置url重写规则,!^(index\.php|images|robots\.txt) 这个正则表达式指明了哪些文件不需要重写,而是直接访问;
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ index.php/$1
RewriteRule ^(application|modules|plugins|system|themes) index.php/$1 [L]

Chao
127 声望1 粉丝

引用和评论

0 条评论