我想从带有参数的codeigniter URL中删除索引。它不是index.php而是控制器内的索引函数。目前我的网址如下所示
www.example.com/app1/index/param1/param2
这里我想从url中删除索引,以便URL为
www.example.com/app1/param1/param2
如果我现在这样做,它会显示我的错误为404可能是因为它为app1控制器内部的函数param1选择了
答案 0 :(得分:2)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
试试这个.htaccess
如果此代码不起作用,请转到application / config / config.php
// Find the below code
$config['index_page'] = "index.php"
// Remove index.php
$config['index_page'] = ""
//and
// Find the below code
$config['uri_protocol'] = "AUTO"
// Replace it as
$config['uri_protocol'] = "REQUEST_URI"
我希望它会有所帮助
答案 1 :(得分:1)
嘿,请执行以下步骤,
application / config / config.php
$config['index_page'] = "index.php" to $config['index_page'] = ""
根文件夹创建.htaccess文件
注意:确保创建.htaccess
文件而不是文本文件。
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
</IfModule>
如需处理.htaccess文件,请在此处下载http://wikisend.com/download/862912/.htaccess
注意:在某些情况下,uri_protocol的默认设置无法正常工作。只需替换
$config['uri_protocol'] ="AUTO" to $config['uri_protocol'] = "REQUEST_URI"
来到路线:
Codeigniter支持两种类型的路由 我)通配符 ii)正则表达式
我给你通配符示例请检查下面:
application/config/routes.php
放置此行
$route['/app1/index/(:num)/(:num)'] = "/app1/$1/$1";
有关详细信息,请参阅官方文档http://www.codeigniter.com/userguide3/general/routing.html
答案 2 :(得分:0)
如上面的网址,您的控制器如下所示:
<?php
class App1 extends CI_Controller
{
public function __construct()
{
parent::__construct();
}
public function index($param1, $param2)
{
// ...your code here
}
}
尝试再次更改控制器,这样就不必将index
用作功能。
<?php
class Apps extends CI_Controller
{
public function __construct()
{
parent::__construct();
}
public function app1($param1, $param2)
{
// ... your code here
}
答案 3 :(得分:0)
在中添加路线{1}}
application/config/routes.php
用于 $route['app1/(:any)/(:any)'] = "app1/index/$1/$2";
:
App1 class