В продолжение.
Посмотрела разные порталы, крупные и не очень. Не обошла стороной и ВКонтакте. Увидела у них некий бардак, а именно: для фотоальбомов есть отдельная(персональная скажем так) ссылка вида
https://vk.com/albumN_M и
https://vk.com/albumsN для списка всех альбомов.Так же есть еще отметки(сейчас остались только для фото, для видео прикрыли) которые тоже имеют отдельные ссылки вида
https://vk.com/tagN Для видео такого нет, а альбомы и другое представлены в гет параметре section, то есть альбомы имею ссылку
https://vk.com/videosN?section=album_M. С аудио все еще печальнее. Плейлисты(так они называются у них) имеют ссылки вида:
https://vk.com/music/album/N_M. Казалось бы, все отлично для сео и чпу, но при нажатии такая ссылка не откроется( даже если скопировать и вставить в строку), а откроется монстроозная ссылка вида:
https://vk.com/audiosN?section=all&z=audio_playlistN_M и
https://vk.com/music/album/-N_M_hash-salt. Тут уже плейтлист хранится в гет параметре z. Поизучав еще, поняла, что ВКонтакте для параметра z отвел особую роль-там подгружаются и записи со стены и фотографии для бокса, плейлисты, фотоальбомы и т.д. В общем параметр ответственный за аякс подгрузку что ли. и у плейлистов своей неаяксовой ссылки не существует. Бардак, который меня опечалил. Да, все эти три сервиса появились не сразу, а постепенно и скорее всего их даже делали разные люди.
Особняком стоит баг-трекер у ВКонтакте. Имеет отдельную ссылку вида
https://vk.com/bugs.
Для отдельного бага
https://vk.com/bugM. Помимо этого данный сервис имеет свой список пользователей(отдельный от списка всех зарегистрированных на вк), список продуктов(помимо вк) для которых заводятся баги. Подсервисы так сказать. И вот тут мне просто понравилось как они все оформили, без бардака, путаницы и прочего.
Для всех продуктов
https://vk.com/bugs?act=products, а вывести баги для одного продукта -
https://vk.com/bugs?act=product&id=263. Для участников
https://vk.com/bugs?act=reporters, а информацию об отдельном участнике
https://vk.com/bugs?act=reporter&id=M. То есть не стали делать ссылки вида
https://vk.com/reporters и
https://vk.com/products, а нагрузили гет параметр act. Мне пришлось такое по душе.
Для интереса выбрала все параметры(гет и пост) для сервиса баг-трекера их оказалось 39. А для act оказалось 119 различных не числовых значений. А всего у данного сервиса может быть 486 различных адресов(гет+пост). Всего же для вк мне удалось собрать 1109 не числовых значений для act, 500+ различных гет, пост параметров. Плюс особый параметр __query который отвечает за fullajax для сайта вк. Это и есть тот самый гет параметр z добавляющийся в строку.
Мысль о создании fullajax сервиса со столькими параметрами и значениями для них с единой точкой входа как то отпала. Ибо как сделать через реврайты
https://site.ru/module567890?album=45 если без чпу ссылка имеет вид
https://site.ru/index.php?content=module&us...890&album_id=45 это похоже на джумлу уже.
А вот сделать для модуля свой отдельный файл, свое имя и грамотно выделить параметры под подмодули мне кажется более рационально.
Возвращаясь к моей проблеме все будет как то так:
- https://site.ru/photo.php?act=albums фотоальбомы
- https://site.ru/photo.php?act=album&album_id=12&owner_id=1 фото с альбома
- https://site.ru/audio.php?act=playlists плейлисты
- https://site.ru/audio.php?act=playlist&playlist_id=12&owner_id=1 аудио с плейлиста
- https://site.ru/video.php?act=playlists плейлисты видео
- https://site.ru/video.php?act=playlist&playlist_id=12&owner_id=1 видео с плейлиста
Кто что думает?