Проблемы с Codeigniter Route - PullRequest
1 голос
/ 01 марта 2012

Мне интересно, может ли кто-нибудь помочь мне.

В настоящее время для просмотра профиля пользователя в моем приложении codeigniter, URL-адрес выглядит следующим образом:

http://www.website.com/profile/u/username

Я хотел бы изменить эточитать

http://www.website.com/username

Возможно ли использование маршрутов?если так, то может ли кто-нибудь дать мне небольшой совет, как это сделать?

Кроме того, если кто-то зарегистрирует имя пользователя, совпадающее с именем контроллера, что произойдет тогда?

Приветствия

Ответы [ 2 ]

3 голосов
/ 01 марта 2012

1. Is this possible using routes?

Да.

2. If so could someone give me a bit of advice how to do it?

Конечно: $route['(:any)'] = "profile/u/$1";

Дополнительная информация: http://codeigniter.com/user_guide/general/routing.html

3. Also, if someone signs up a username that is the same as a controller name, what would happen then?

Вы не должны позволять пользователю регистрироваться с использованием такого имени пользователя.Facebook делает это!(www.facebook.com/groups/123457890 = "groups" нельзя использовать в качестве имени пользователя)

Во избежание перенаправления доступа к контроллеру в доступ к профилю, вы должны добавить конфигурацию маршрутизации *От 1020 * до к указанному выше, например:

$route['(admin|groups|signup)'] = "$1";

Здесь у нас есть регулярное выражение, простое для понимания.Вам просто нужно разделить имена контроллеров символом вертикальной черты.

Надеюсь, это поможет!

0 голосов
/ 14 марта 2014

эта ссылка может вам помочь: http://ellislab.com/forums/viewthread/186025/

вы можете сделать, как было сказано.

или

Вы должны использовать модуль перезаписи apache и сначала использовать .htaccess

RewriteEngine на

RewriteCond $1 !^(index\.php|(.*)\.swf|forums|images|css|downloads|jquery|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php?$1 [L,QSA]
and delete index.php from applications/config/config.php

$ config ['index_page'] = "index.php ";и маршрут с

$route['^(?=[^\s]*?[0-9])(?=[^\s]*?[a-zA-Z])[a-zA-Z0-9]*$'] = "user/$1";`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...