首先,知道这个问题可能被问了150万次,我做了谷歌 我已阅读并尝试了束的建议,但问题仍然存在。
这是我们的第一个内部CI项目
使用非标准(在CI世界中)目录树创建骨架“项目”,以更好地匹配我们其他现有项目的文件结构。
它是这样的:
../
/ WWW
- index.php
/应用
- / config
- / controllers
- /...etc
- / lib
- / /供给 - - - / codeIgniter
- - - - / 2-1-2
- - - - - / system
- - - - - - /...etc
- / library
- / views
- / ...等
我将它复制到我的机器(WAMP)并测试了几个控制器 一切似乎都很好。唯一的问题是网址中仍然需要 index.php 我希望能够使用 http:// localhost / project / controller / method ,而不是需要 http:// localhost / project / index.php /控制器/方法
我确认我的http.conf对于 wamp / www 有AllowOverrride All
,我在 / www 目录中添加了.htaccess
个文件......无济于事:(
### \www\.htaccess ###
# After many tries, I reverted to these simple 4 lines and stopped here
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
我有项目的别名
### \wamp\alias\bomProject.conf ###
Alias /bomProject/ "c:/wamp/NetBeansProjects/bomProject/www/"
<Directory "c:/wamp/NetBeansProjects/bomProject/www/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
Allow from all
</Directory>
此别名允许我在 http:// localhost / bomproject 成功浏览项目。
我已将 /config/config.php 中的$config['index_page']
设置为''
我也尝试过更改$config['base_url'] = ''
config.php 中的$config['base_url'] = 'http://localhost/bomProject/'
...都没有效果。
我的怀疑是问题归结为我们的目录树,但是我对htaccess 缺乏经验,而正则表达式就知道如何解决它。
[编辑]:
@ chris-clower向我介绍了 config / routes.php ,所以我稍微阅读了一下。
很高兴知道!我非常感激,我喜欢和他们一起玩......根据文档(我至少理解它),我不认为路线是我的解决方案问题。
当尝试“ localhost / bomProject / {controller} ”...其中 {controller} 显然是一个真正的控制器名称......我仍然会收到404错误:“ Not Found - 在此服务器上找不到请求的URL /wamp/NetBeansProjects/BomProject/www/index.php/ {controller}。“
[/编辑]:
任何帮助都 非常 赞赏。
答案 0 :(得分:0)
你需要查看/application/config/routes.php
并在那里添加你的路线,类似于:
$route['default_controller'] = 'index';
$route['admin'] = 'admin/index/';
$route['admin/(:any)'] = 'admin/$1';
$route['forum'] = 'forum/index/';
$route['(:any)'] = 'index';
$route['404_override'] = '';
至于您的.htaccess
,它看起来很好,不应该对此进行任何更改。