0

我的网址链接看起来像:

http://localhost/CodeIgniter_2.1.2/index.php/pages/home

然后我使用谷歌编写了 .htaccess 文件,如下所示:

RewriteEngine on
RewriteCond $1 !^(index\.php|themes|images|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

现在我的链接看起来像:

http://localhost/CodeIgniter_2.1.2/pages/home

现在,我想pages从此链接中删除。谁能帮我解决这个问题?

因此,我的网址可能如下所示:

http://localhost/CodeIgniter_2.1.2/home
4

2 回答 2

1

一种方法是在 application/config/routes.php 文件中创建一个自定义路由,它将 url 'http://localhost/CodeIgniter_2.1.2/home' 路由到 'http://localhost/CodeIgniter_2.1.2 /页面/主页'

此处描述了自定义路由

代码将类似于:

$route['home'] = "pages/home";

编辑

您的控制器、方法和变量分别命名为“pages”、“view”和“home”。因此,您应该尝试以下路线:

$route['home'] = "pages/view/home";

还:

** 保留路线 ** 来自 codeigniter 文档:

有两条预留路线:

$route['default_controller'] = 'welcome';

如果 URI 不包含数据,则此路由指示应加载哪个控制器类,当人们加载您的根 URL 时就是这种情况。在上面的示例中,将加载“欢迎”类。鼓励您始终使用默认路由,否则默认情况下会出现 404 页面。

因此,您不应该将默认控制器设置为“pages/view/home”。相反,您应该在控制器中创建一个默认为“home”视图的“index”方法。

另外 不要忘记将位于 application/config/config.php 中的 config.php 文件中的 $config['index_page'] 从 'index.php' 更改为 ''。

于 2012-08-22T01:52:34.903 回答
0

尝试更改您的规则,以便目标是:

RewriteRule ^(.*)$ index.php/pages/$1 [L]
于 2012-08-22T01:50:34.490 回答