Изменение url для пользователей [вопрос]

Всем привет!

Хотел попросить помощи:
Как сделать url для пользователя вида "/user" вместо "/users/user" ??

Заранее спасибо!

15 комментариев

avatar
config.php
$config['router']['uri'] = array(
	'~^(\w+)\.html~i' => "profile/\\1",
);


юзеры будут располагаться в site.ru/admin.html
делать просто /user не круто, т.к. под это правило подойдут все урл
  • xyz
  • +1
avatar
о, а вот еще можно сделать
$config['router']['uri'] = array(
	'~^(\w+)\/whois~i' => "profile/\\1",
	'~^(\w+)\/favourites~i' => "profile/\\1/favourites",
	'~^(\w+)\/favourites/comments~i' => "profile/\\1/favourites/comments",
);

site.ru/admin/whois/
site.ru/admin/favourites/
site.ru/admin/favourites/comments/
avatar
xyz, использовал ваш вариант, не работает, может я что-то не так делаю?
Все занес в config.php

У меня кстати есть вариант, о котором вы говорили, что он не правильный:

$config['router']['uri'] = array(    
     '~^([a-z_\-]+)$~i' => "profile/\1",
);


И тем не менее, можно же зарезервировать системные переменные и не давать регистрироваться под этими именами…
avatar
Кто может помочь?
avatar
вообще-то в конфиге в конце уже есть такая инициализация этого массива, надо ее на мою заменить
avatar
Где в конце? В конфиге есть такой пример для топиков (там mysite.ru/123.html), если вы об этом говорите, зачем менять то? Можно и рядом написать еще один. Суть в том, что он вообще не работает, я не понимаю почему, пользователи не доступны по адресу mysite.ru/username(.html)
avatar
надо в пример для топиков дописать эти 3 строчки
если писать весь код перед примером для топиков, то его инициализация заменит наши реврайты для юзеров
avatar

$config['router']['uri'] = array(
	// короткий вызов топиков из личных блогов
	'~^(\d+)\.html~i' => "blog/\\1.html",
	'~^([a-z_\-]+)$~i' => "profile/\1",
        // и сюда еще новые и новые
);


Я правильно понял?
Этот вариант тоже не работает
avatar
$config['router']['uri'] = array(
        // короткий вызов топиков из личных блогов
        '~^(\d+)\.html~i' => "blog/\\1.html",
        '~^(\w+)\/whois~i' => "profile/\\1",
        '~^(\w+)\/favourites~i' => "profile/\\1/favourites",
        '~^(\w+)\/favourites/comments~i' => "profile/\\1/favourites/comments",
);

этим кодом надо заменить старый
avatar
Вот по этому и не понимаю, что не так делаю
avatar
может что разкомментировать надо??
avatar
можно и так
$config['router']['rewrite'] = array( 'user'=>"users" );
avatar
Простите, не так прочитал.
avatar
Бывает)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.