dav*_*ave 1 php url uri routes codeigniter
我在codeigniter中自定义我的路由,这是我的routes.php的示例:
$route['default_controller'] = 'maincontroller/main';
$route['404_override'] = '';
$route['test'] = 'maincontroller/test';
Run Code Online (Sandbox Code Playgroud)
这是maincontroller类:
class Maincontroller extends CI_Controller
{
public function __construct( )
{
parent::__construct( );
$this->load->library('session');
$this->init( );
}
public function main( )
{
echo "in main";
}
public function test( )
{
echo "test";
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我在浏览器中访问此URL时:/ test,我得到服务器的404页面未找到错误.
我不知道我做错了什么,我按照codeigniter用户指南中的路线指南.
而不是去/测试,尝试去/index.php/test
默认情况下,CodeIgniter通过index.php运行所有内容.
您可以通过将.htaccess文件添加到站点根文件夹来更改此行为.
这可以直接从CodeIgniter用户指南中获取.
https://ellislab.com/codeigniter/user-guide/general/urls.html
htaccess文件
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)
如果这样做,您还需要更改config/config.php文件
找
$config['index_page'] = 'index.php';
Run Code Online (Sandbox Code Playgroud)
改为
$config['index_page'] = '';
Run Code Online (Sandbox Code Playgroud)
如果要在页面(视图)中创建链接,可以使用内置的site_url()函数,则可能需要为此加载url帮助程序.
例如
<?php echo site_url('test'); ?>
Run Code Online (Sandbox Code Playgroud)
这将考虑$ config ['index_page']设置并为您的链接创建正确的URL.
归档时间: |
|
查看次数: |
8746 次 |
最近记录: |