Проблема такова, есть сайт где регистрируется человек и на него заводится профиль и ему соответственно присваеваится какой то id.
Адрес URL к профилю , будет примерно такой www.moi-site.ru/index.php?action=userprofile&user_id=N, где N - 1,2,3,4,5 ... id - пользователя.
Собственно сам вопрос? хочу сделать доступ к профилю пользователя с ЧПУ, что бы был красивый уникальный URL к профилю
т.е. сопоставить
www.moi-site.ru/index.php?action=userprofile&user_id=1 - www.moi-site.ru/petya
www.moi-site.ru/index.php?action=userprofile&user_id=2 - www.moi-site.ru/vasya
www.moi-site.ru/index.php?action=userprofile&user_id=3 - www.moi-site.ru/kolyzт.е. когда набираем www.moi-site.ru/petya происходит редирект на www.moi-site.ru/index.php?action=userprofile&user_id=1, но так чтобы в браузере по прежнему отображалось www.moi-site.ru/petya, т.е. редирект был какбы завуалирован
Количество пользователей будет довольно много поэтому возможно ли сделать так чтобы данные по сопоставлению адресов хранились в БД, а не в .htaccess, но и эти данный брались скриптом находящемся в .htaccess после чего делался бы редирект.
то как ты хочешь сделать по моему только через
http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#Rewrit... (на тему External Rewriting Program) возможно (точнее можно и обычным map но надо будет после каждого нового пользователя генерить dbm заново), но если
сделать соответвиеwww.moi-site.ru/index.php?action=userprofile&user_name=petya - www.moi-site.ru/petya
то можно без внешних map, имена ж все равно уникальны.
>Проблема такова, есть сайт где регистрируется человек и на него заводится профиль
>и ему соответственно присваеваится какой то id.
>Адрес URL к профилю , будет примерно такой www.moi-site.ru/index.php?action=userprofile&user_id=N, где N -
>1,2,3,4,5 ... id - пользователя.
>
>
>Собственно сам вопрос? хочу сделать доступ к профилю пользователя с ЧПУ, что
>бы был красивый уникальный URL к профилю
>т.е. сопоставить
>www.moi-site.ru/index.php?action=userprofile&user_id=1 - www.moi-site.ru/petya
>www.moi-site.ru/index.php?action=userprofile&user_id=2 - www.moi-site.ru/vasya
>www.moi-site.ru/index.php?action=userprofile&user_id=3 - www.moi-site.ru/kolyz
>
>т.е. когда набираем www.moi-site.ru/petya происходит редирект на www.moi-site.ru/index.php?action=userprofile&user_id=1, но так чтобы в
>браузере по прежнему отображалось www.moi-site.ru/petya, т.е. редирект был какбы завуалирован
>
>Количество пользователей будет довольно много поэтому возможно ли сделать так чтобы данные
>по сопоставлению адресов хранились в БД, а не в .htaccess, но
>и эти данный брались скриптом находящемся в .htaccess после чего делался
>бы редирект.
Ответ может быть не потеме но как мне кажется болле актуален.
Используем .htaccess# Перенаправляем все запросы на конкретный скрипт
Action throw /index.php
<FilesMatch "^([^.]+)$">
ForceType throw
</FilesMatch>Потом парсим этот запрос и получая переменные. Пусть к примеру первая переменная будет именем пользователя. Ищем его в базе данных и выдаем нужную страницу. Помоему это более простое рещение чем писать правила для mod_rewrite
Поменяй user_id на user_name и задача упростится в разы.А что такое "пользователь с ЧПУ"? "пользователь с числово-программным управлением"?