Mod_rewrite или что..

Статус
Закрыто для дальнейших ответов.

v0rbis

selfcoded
Регистрация
02.05.2005
Сообщения
923
сабж:

есть фотогалерея. ссылки вида "photoblog/index.php?viewblog=5", где 5 это идентификатор юзвера. очень надо сделать это читабельнее, конкретнее такого вида "photoblog/v0rbis" где вместо index.php?viewblog=5 будет урл на имя пользователя.

вот такой вот сабж сегодня на повестке дня. хитрое (свиду?) решение на базе mod_rewrite или еще как, но лучше на нем... ибо надо :)
 

Creator

Administrator
Команда форума
Регистрация
03.03.2005
Сообщения
1 745
В .htaccess:

Код:
RewriteEngine On
RewriteBase /

RewriteRule ^photoblog/(.*) /?photoblog&user=$1 [QSA]
В таблицу добавляешь поле ник, если у тебя нет, но не удаляешь ID, он будет использоваться для ускорения связей и т.д.
Просто на данном этапе поиск будет осуществляться по нику, а уже после получения его ID, по нему.
 

v0rbis

selfcoded
Регистрация
02.05.2005
Сообщения
923
или я чегото не догоняю, либо у тебя ошибка в синтаксисе mod_rewrite:

у меня сейчас так:
RewriteRule ^(.*) /index.php?id=$1 [QSA]

но.. 404 либо отказ в доступе

что делать то?
 

faust

Well-Known Member
Регистрация
31.01.2006
Сообщения
115
Сначало сделай "длинный" урл с выборкой по нику. То есть типа photoblog/index.php?viewblog=vorbis

Потом уже пиши реврайт.

Код:
 RewriteEngine On

RewriteRule ^photoblog/([a-zA-Z0-9]*)$ photoblog/index.php?viewblog=$1
Не знаю может можно и преобразование "на лету" делать, можно наверное, но зачем заморачиваться?
 

v0rbis

selfcoded
Регистрация
02.05.2005
Сообщения
923
не зна что случилось, но с помощью DnAp'a пришел к такому варианту:

Код:
RewriteEngine On

RewriteRule ^([0-9a-zA-Z]*)$ index.php?id=$1

все спасибо. $this->closed();
 
Статус
Закрыто для дальнейших ответов.
Верх Низ