0

我正在开发一个网站,我想在其中为每个用户帐户创建一个唯一的 url。

方法

http://example.com/username => route to controler/index/username

http://example.com/username2 => route to controler/index/username2

我正在使用 codeigniter,URL 的模式是:

http://exaple.com/controller name/method name/argument

我不知道我们怎么能像 facebook 那样做这种路由??

4

4 回答 4

1

使用 CI 路由,您可以非常轻松地实现这一目标。

在您的routes.php配置 (application/config/route.php) 文件中,添加与此类似的一行:

$route['(:any)'] = "controller/index/$1";

左边的位是您在浏览器地址栏中键入或拥有的位。正确的位是它的路由。在您的情况下,控制器和方法的名称,后跟参数。对于您的情况,这将是用户。这是一个字母数字变量,所以这就是您传递它的方式。

完整的参考可以在这里找到,但上面的例子应该让一切都清楚: http ://ellislab.com/codeigniter/user-guide/general/routing.html

于 2013-07-15T12:37:35.260 回答
0

参数http://exaple.com/controller_name/method_name/argument部分在您的情况下需要是唯一的。

于 2013-07-15T11:58:26.030 回答
0

您可以使用 codeigniter 路由轻松完成此操作。看看手册:http ://ellislab.com/codeigniter/user-guide/general/routing.html

于 2013-07-15T12:32:09.183 回答
0

您需要修改 .htacces 以替换 index.php 例如:

<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteBase /<your_root_foler>/%{HTTP_HOST}
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ /<your_root_foler>/%{HTTP_HOST}/index.php/$1 [L]
   </IfModule>

这一行 (RewriteRule ^(.*)$ //%{HTTP_HOST}/index.php/$1 [L]) 替换你的应用程序中的所有 index.php 你在哪里使用 codeigniter

之后你可以修改你的 routes.php 就像说“bottleboot”

于 2013-07-15T15:56:19.137 回答