Где взять список зарезервированных страниц?

Хочу использовать логины пользователей в первом уровне проекта, как это делает GitHub или VK.com.
Пример: https://example.com/userlogin
Проблема в том, что в проекте так же есть обычные страницы
https://example.com/about
https://example.com/news
и т.д
Соответственно необходимо составить список исключений из существующих страниц и физических директорий (js, css, images, swf) лежащих в корне проекта.
Понятно, что все на будущие не предусмотреть, по этому собственно и возник вопрос.
Может кто ни будь уже ел этот кактус, или знает где такие списки можно взять?

P.S.
Пробежав по одному из топиков vk, в который выкладывают ссылки на существующие страницы и файлы, скопировал innerHTML страницы, распарсил все href'ы и прогнал их через vk.api что бы отделить страницы от "доменов". Получился такой список. Но в нем по любому не все.
  • Вопрос задан
  • 232 просмотра
Пригласить эксперта
Ответы на вопрос 4
ximik777
@ximik777 Автор вопроса
Изучив практику крупных проектов, пришел к следующему выводу, чтобы реализовать задуманную структуру, требуется:
  1. Запретить использование точки в логине. Например, на GitHub, Twitter, VK.com и д.р. в логине/домене запрещена точка. VK.com только спустя какое-то время запретил использование точки, и видимо это не просто так. Отсюда следует, что головная боль, с файлами в корне проекта, устранена.
  2. Запретить логины короче 3-х символов. Это позволит оставить большой карман под страницы и директории в корне.
  3. Создать списки исключений. Помимо тех страниц что уже предусмотрены ТЗ, потребуется на этапе создания прототипа немного пофантазировать и продумать возможный функционал в будущем и зарезервировать страницы под него. Так же потребуются изучить крупные ресурсы и собрать списки страниц в ручном или полуавтоматическом режиме.
  4. Запретить использование спец. символов(если таковые имеются) в начале и в конце логина, а также при повторении одного и того же спец. символа 2 раза подряд.

В своем проекте, из спец. символов разрешу использовать только знак "тире". Примерно такое регулярное выражение отвечает необходимым условиям:
/^(?=.{4,32}$)(?![-])(?!.*[-]{2})[a-zA-Z0-9-]+([^-])$/
  |__________||_____||__________||__________| |____|
        |        |        |           |         |_ запрет «-» в конце логина
        |        |        |           |_ разрешенные символы 
        |        |        |_ запрет «-» 2 раза подряд
        |        |_ запрет «-» в начале логина
        |_ длина логина от 4 до 32 символов

Помогли принять данное решение: Алексей Ярков, Алексей, Roman Kitaev.
Спасибо!
Ответ написан
Комментировать
alsopub
@alsopub
При такой организации я вижу следующие варианты.

1) Все "не пользовательское" вынести в подкаталог типа:
https://example.com/site/news/
https://example.com/site/images/
и тогда фильтровать нужно будет только "site"

2) То же что пункт 1, но выносить на поддомен site.example.com/news/

3) Пользователельские каталоги сделать по типу example.com/~username/ или example.com/user-username/

4) Выдать пользователям по поддомену userlogin.example.com

Выбирайте любой - все будет работать.

Взять к примеру твиттер - там на основном домене оставлено пяток страниц в корне, остальное либо в подкаталоге /i/ либо на поддоменах.
Ответ написан
@deliro
1-ый вариант:
Создать изначально список исключений для юзернеймов (будь то jobs, wiki, about, news и т.д.). Если понадобится добавить что-то - всегда можно придумать синонимы. /billing может быть /payment, например.

2-ой вариант:
Запретить юзернеймы короче 4-ех символов, а на 3-символьниках расположить служебные страницы. Если тебе кажется, что в 3 символа влезает мало, то 26 (анлгийский алфавит) + 10 (цифры) ^ 3 = 46к+ вариантов. И это не считая 1-символьных и 2-символьных.

3-ий вариант:
Скомбинировать первые два варианта. Т.е. под будущие страницы отвести трёхсимвольники, а /about в список исключений

4-ый вариант:
https://example.com/u/userlogin - реддит стайл. Зато логически более правильно вынести юзеров на отдельные слеши

Что за 2 минуты на ум пришло.
Ответ написан
taliban
@taliban
php программист
Делайте системные страницы поддоменами
about.site.com - о портале
site.com/about - пользователь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы