在htaccess文件编码器中重写url



我正在使用codeigniter进行开发。我使用。htaccess文件来缩短我的URL,即从所有URL中删除index.php。即:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

我有一个页面,我通过以下链接显示用户的投资组合

www.example.com/users/username/id

这里'users'是控制器,'username'是第一个参数,它不是唯一的,'id'是第二个参数,它是唯一的,所以我可以显示唯一的用户组合。它调用'users'索引函数,我在其中传递这个参数。

现在,我希望我的URL是这样的'www.example.com/username/id'通过。htaccess文件重写URL。当我尝试这样做时,codeigniter将'username'视为控制器而不是参数。

有办法做到这一点吗?如果可以的话,我将非常感谢你的时间。

谢谢。

从文档来看,它说你可以添加一个路由,这样你就可以隐藏用户部分:http://ellislab.com/codeigniter/user-guide/general/routing.html

$route['username/:num'] = "users/username/$1";

现在您可以使用链接来显示用户(具有特定id),如下所示:

<a href="username/$id"> 

代替<a href="users/username/$id">

例如

希望对你有帮助

最新更新