codeigniter中每个用户名的唯一URL

时间:2013-07-15 11:56:23

标签: php codeigniter

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

装置

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

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

我使用的是codeigniter,网址格式为:

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

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

4 个答案:

答案 0 :(得分:1)

使用CI路由,您可以非常轻松地实现此目的。

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

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

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

答案 3 :(得分: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”