chrome|90.0.4430.93|blMain
uCoz блог, инструкции uCoz

БЛОГ

uCoz, скрипты, всякое  Поиск, Search

ДЕЛАЕМ УДОБНЫЕ АДРЕСА ПРОФИЛЕЙ

  
Пользователи, Профили Пользователи, Профили     05.01.2011, 15:37    
Как и обещал, сегодня расскажу о том, как сделать адреса профилей вида: http://site.ru/username/

Разрабатывая проект uWork, мне собственно и пришла эта идея вместе с её реализацией.

Казалось бы это невозможно, единственный вариант - создавать для каждого пользователя отдельную папку…
Но у нас есть специальная страница - 404.htm, на основе которой и предоставляется возможность обрабатывать любые «не найденные» URL адреса.

И так, приступим:

1. В первую очередь нам нужно будет загрузить изменённый файл 404.htm (сначала скачайте файл на компьютер) в корень сайта. То, что находится между тегами div с id="error" - это будет сообщение об ошибке 404 (страница не найдена).

2. Далее берём этот скрипт и загружаем его к себе на сайт в папку js. Также этот файл стилей загружаем в папку css.

3. В шаблоне персональной страницы пользователя перед </body> ставим:
<script type="text/javascript">$('a[target!="blank"]').attr('target','_top')</script>

Всё! Теперь зайдя по http://site.ru/username/ можно видеть страницу пользователя «username». Пример: http://uwork.me/G-XPert/. При переходе по ссылке несуществующего пользователя система выведет сообщение: «Пользователь не найден». При переходе по страницам вида http://site.ru/page/dir, http://site.ru/page/dir/dir и т. д., система выдаст сообщение об ошибке 404 (страница не найдена).

Примечание: у нас также имеются прочие страницы вида http://site.ru/page/, например, http://site.ru/panel/, http://site.ru/blog/ и т. д. Во избежании регистрации пользователей с такими именами (и соответственно невозможность в дальнейшем зайти к ним в профиль) рекомендую самостоятельно зарегистрировать пользователей с логинами, совпадающими с названиями служебных страниц, названиями модулей и названиями ваших папок.

Вопросы задаём в комментариях
22 Абайский пишет:
А если на сайте встречаются ники на русском - работать будет?

21 Gost пишет:
Здравствуйте! Хочется сделать короткий url для конкретной страницы сайта. Н-р, есть страница http://имя_сайта/index/Название_страницы/0-2, а хочется сделать в виде http://имя_сайта/Название_страницы/ . Покажите пожалуйста на примере, как это можно сделать. Буду очень признателен.

20 leaderru пишет:
Напишите подробнее как редирект сделать?

19 KaLTeR пишет:
Не получается...((( Я скачал скрипт и ксс скачал 404 все загрузил на сайт.. прописал код, но ничего не работает(( Подскажите, что делать?

18 HooLIGUN пишет:
Как сделать редерикт с /index/8-id на /username/ помогите ?:)
Ответ:
Пропишите условие на top.location.href и перенаправляйте на /user/, если top.location.href содержит /index/8

17 Rad van Cor пишет:
Да я в шаблоне и позаменял)))
Да не важно как поисковики будут видеть перс страницы, главное что бы видели)
Ну я всё понял.
Ещё раз списибо за отличный скрипт;)

16 Rad van Cor пишет:
Ну по умолчанию я знаю. Но я у себя в robots.txt прописал что бы странички индексировались.
У меня просто сайт как бы, ну для дидеев, такая не большая соц сеть как бы. И персональная страница на этом сайте чуть ли не важнейший элемент))

Так скажите пожалуйста, после установки этого скрипта ПС будут индексироватся или нет?)

Ответ:
Индексироваться именно /username/ не будут. Для пользователей можно сделать редирект с /index/8-…/ на /username/ , а лучше прямо в шаблоне заменять. Для поисковиков останутся страницы /index/8-…/

15 shohin пишет:
А я сделал без 15 полноценнуб реферальнуб систему!

14 Rad van Cor пишет:
Шикарно. Браво маэстро.
Я что только не мутил что бы нормальные адреса персональных страниц делать. Единственное что получалось это что то типа www.site.ru/user/?$USERNAME$

Твой варинт супер.

Но я так понял теперь персональные странички выпадут из индексации поисковиков да?(

Ответ:
Они и не были в индексе никогда. В robots.txt по умолчанию на всех сайтах стоит запрет индексации служебных страниц и страниц профилей ( строка: Disallow: /index/8 ).

13 Slavito пишет:
Скажите, хотел бы использовать этот скрипт у себя на сайте, но смутило сообщение MaxL: "Так-что твоя страница расценивается как запрещенная, а что может случиться в таком случае ты и сам знаешь."
Могли бы вы объяснить, что именно он имел ввиду? Что бывает в таком случае, если я не знаю?
Ответ:
Если на сайте напрямую указывать ссылки на страницы профилей http://site.ru/username/ , то это может негативно сказаться на индексации сайта. Поэтому делайте редирект с /index/8-id на /username/ . А страницы /index/8 и так запрещены к индексации, поэтому введение таких адресов для профилей пользователей не повлияет на это.

12 lexa93 пишет:
А можно ли заменить "Страница пользователя 'НИК' " на "Страница пользователя 'ПОЛНОЕ ИМЯ ПОЛЬЗОВАТЕЛЯ' "??
Ответ:
Нет, в данном скрипте нельзя, т. к. ник пользователя берётся непосредственно из URL-адреса.

11 ogroodUA пишет:
...Не мог бы ты в следующей статье написать о реф. системе?))
Ответ:
Полноценную реферальную систему вряд-ли сделаешь на uCoz.
------------
А хотя бы простенькую системку... Очень требуется... Кстати могу профинансировать...

10 Алекс Малкович пишет:
Так и чего нового появилось? Есть варианты новинок для меня?

9 uWeb пишет:
На юкозе вообще вряд ли что нормально сделаешь.

8 Dj-Fiesta пишет:
жеская потому что я сделал соц сеть на ucoz и теперь пользователи смогут звать к себе на страницы, других давая им : адрес сайта/и свой логин! это круто!! Не мог бы ты в следующей статье написать о реф. системе?))
Ответ:
Полноценную реферальную систему вряд-ли сделаешь на uCoz.

7 MaxL пишет:
Авторизация нужна. Теперь я не смогу отслеживать по почте ответы на свои комментарии.
Ответ:
Добавил необязательное поле «Почта» для уведомления об ответах smile

6 MaxL пишет:
А как-же HTTP-заголовки?

http://uwork.me/G-XPert/

Ответ сервера: HTTP/1.1 403 Forbidden
Сервер: uServ/1.5.4

Нормальная страничка возвращает 200.
Так-что твоя страница расценивается как запрещенная, а что может случиться в таком случае ты и сам знаешь.
Палка двух концов.

Ответ:
Такие страницы для пользователей прежде всего, а для них без разницы: запрещённая страница или нет.
» ты и сам знаешь
Что? К индексации они запрещены, роботы их не увидят.

5 G-XPert пишет:
По умолчанию в профиль можно зайти и этим методом и через /index/8-id. Можно сделать чтобы из /index/8-id перекидывало на /username/, для этого в шаблоне персональной страницы пользователя необходимо добавить между <head> и </head>:
<script type="text/javascript">location.href = '/$_USERNAME$/'</script>

4 maxij пишет:
На все 100% Респект тебе))) Полезную вещь сделал спасибо uWork всё работает))

3 ДухLESS пишет:
Отлично! Применим... :)

2 Rostislav пишет:
Здорово! Надо будет попробовать wink

P.S. Почему регистрацию юзеров убрал?

Ответ:
А для чего тут они? Комментировать и гости могут без проблем. Если будет потребность в этом - сделаю smile

1 Dj-Fiesta пишет:
Респект тебе)) Жеская статья! Обязатьльно размещу у себя на сайте ссылки!
Ответ:
Почему жёсткая?)