Казалось бы это невозможно, единственный вариант - создавать для каждого пользователя отдельную папку…
Но у нас есть специальная страница - 404.htm, на основе которой и предоставляется возможность обрабатывать любые «не найденные» URL адреса.
И так, приступим:
1. В первую очередь нам нужно будет загрузить изменённый файл 404.htm (сначала скачайте файл на компьютер) в корень сайта. То, что находится между тегами div с id="error" - это будет сообщение об ошибке 404 (страница не найдена).
2. Далее берём этот скрипт и загружаем его к себе на сайт в папку js. Также этот файл стилей загружаем в папку css.
3. В шаблоне персональной страницы пользователя перед </body> ставим:
Code
<script type="text/javascript">$('a[target!="blank"]').attr('target','_top')</script>
Всё! Теперь зайдя по http://site.ru/username/ можно видеть страницу пользователя «username». При переходе по ссылке несуществующего пользователя система выведет сообщение: «Пользователь не найден». При переходе по страницам вида http://site.ru/page/dir, http://site.ru/page/dir/dir и т. д., система выдаст сообщение об ошибке 404 (страница не найдена).
Примечание: у нас также имеются прочие страницы вида http://site.ru/page/, например, http://site.ru/panel/, http://site.ru/blog/ и т. д. Во избежании регистрации пользователей с такими именами (и соответственно невозможность в дальнейшем зайти к ним в профиль) рекомендую самостоятельно зарегистрировать пользователей с логинами, совпадающими с названиями служебных страниц, названиями модулей и названиями ваших папок.
Автор: G-XPert