URL в MVC. Обязательно ли это?

Недавно познакомился со схемой MVC и сразу задумался о возможности применения подхода в своём проекте.
Но есть момент, который я не понимаю. Например, у меня на сайте есть статьи. Как я вижу URL статьи:
mysite.ru/articles/cat_name/article_name.html
(то есть принцип как в файловой системе)

А вот например адрес для добавления статьи:
mysite.ru/articles?add

Согласно же концепции MVC я должен использовать адреса:
mysite.ru/articles/show/cat/cat_name/article/artic...
mysite.ru/articles/add

Но я абсолютно уверен, что первый адрес - это конкретный перебор. Но если я сделаю адреса такими, как я их вижу, то принцип controller/action/parameter/value не работает. Ведь так?
Как быть в таком случае? Может схема MVC мне просто не подходит?
  • Вопрос задан
  • 212 просмотров
Решения вопроса 1
mr_T
@mr_T
Web-разработчик
Что это за статью вы прочитали, что теперь вы мешаете понятия url с mvc? Можно ссылочку?) И куда роскомнадзор смотрит...

А если серьезно, то обычно в прилоениях используется роутер, в котором вы вручную сопоставляете любой произвольный шаблон пути любому контроллеру.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@dxp
Web developer
MVC как паттерн вообще никак не задает схему url, MVC может быть вообще не для веба.
Конкретные реализации могут использовать ту или иную схему для url, но это выбор авторов этих реализаций и к самому паттерну не имеет отношения.
Ответ написан
sanchezzzhak
@sanchezzzhak
Ля ля ля...
Согласно вашему мнению это не подходит, так как вы должны позаботиться о роботах яндекса и гугла

mysite.ru/articles/show/cat/cat_name/article/artic не правельно

Правельно mysite.ru/<имя категории>/<под категории>/article--.html вот так еше куда не шло

Также если пользователь или робот открывает страницы
mysite.ru/<имя категории>/<под категории>
Он должен видить контент тут
mysite.ru/<имя категории>
тут

При такой структуре
mysite.ru/articles/show/cat/cat_name/article/artic...
Пользователь и робот не будет видеть контент
mysite.ru/articles/show/cat/cat_name/article/ тут не увидит
mysite.ru/articles/show/cat/cat_name/ тут что то покажем.
mysite.ru/articles/show/cat/ тут нету контента а должен быть
mysite.ru/articles/show/ и тут тоже нету контента.

Пустых директорий как правило быть не должно.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы