Codeigniter URL Dilemma


Codeigniter URL Dilemma

我的URL有问题。我从用户指南中获取了.htaccess代码,从url中删除了index.php,我也从配置中删除了它。现在问题来了。我有一个名为"main"的控制器和一个内部名为"join"的函数,它们只是显示视图。现在,如果我转到http://localhost/myfolder,它会很好地加载索引视图。但是,如果我尝试转到http://localhost/myfolder/main/joinhttp://localhost/myfolder/join,则会出现404错误。但是http://localhost/myfolder/index.php/main/join可以在不从我的头文件加载任何css的情况下工作,但页脚仍然被加载。我对此感到非常困惑。我怎样才能修复它,使它只与main/join一起工作?稍后我将使用路由使其为just/join,但我需要像加载"索引"视图那样加载css,而不是加载"联接"视图。localhost/myfolder/main也给了我一个404错误。我所做的只是从用户指南中提取代码并粘贴进去。htaccess有什么帮助吗?

这个问题有点令人困惑,但让我试着回答我得到的。

问题1。使"localhost/myfolder/main/join"正常工作

您主要需要删除index.php。请执行以下操作:

a。(非常重要)确保apache的重写模块已启用。如果您正在使用wamp,请转到"Apache">"Apache模块",并确保选中"rewrite_module"。

b在代码点火器中,打开文件应用程序>config>config.php。搜索行:

$config['index_page'] = 'index.php';

从那里删除index.php。线路必须是

$config['index_page'] = '';

c在myfolder上,创建一个文件.htaccess并在其中添加以下代码:

RewriteEngine on
RewriteCond $1 !^(index'.php|resources|robots'.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 

现在URL"localhost/myfolder/main/join"必须正常工作。

问题2:加载CSS

要加载css,用户可以在视图的头部分下执行以下代码:

<?php echo link_tag('style/style.css');?>

确保style/style.css存在于根文件夹中;'myfolder。

希望这能有所帮助,

Kapil。