我有一个项目,当我加载它将成功加载此URL。
http://localhost:8080/ci/CodeIgniter-3.0.1
但是当我想转到另一个视图EX到这个视图时:
http://localhost:8080/ci/CodeIgniter-3.0.1/about
它将显示404错误消息。
但是当我转到这个网址时,它会成功加载。
http://localhost:8080/ci/CodeIgniter-3.0.1/index.php/pages/about
我想从url中删除index.php和页面我该怎么办?
答案 0 :(得分:1)
从您的网址中删除index.php永久使用此.htaccess文件 在主索引所在的位置创建一个带有.htaccess扩展名的文件,并将此代码粘贴到文件中。
Options +FollowSymLinks
Options -Indexes
DirectoryIndex index.php index.html
RewriteEngine on
RewriteCond $1 !^(index\.php|img|css|js|install|robots\.txt|favicon\.ico|update\.php)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
从网址中删除 pages / about ,只需打开applicaiton / config文件夹下的route.php并添加此行
$route['put_default_controller_name_here'] = 'pages/about';
答案 1 :(得分:0)
在 application / config 文件夹中修改 config.php ,设置一些属性的值如下:
$config['index_page'] = '’;
$config['uri_protocol'] = 'REQUEST_URI';
和创建/编辑.htaccess文件,它与您的应用程序文件夹不在内部,并在下面写下代码:
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
上面你已经从你的网址中删除了index.php。
现在要删除控制器名称,在您的情况下,要从您的网址中删除网页,您必须将路由更改为以下代码:
$route['default_controller'] = 'users';
$route['^(:any)(/:any)?$'] = "users/$0";
现在,您只能通过函数名称直接设置路径: 例如:
redirect('about');
而不是:
redirect(pages/about);