Дизайн для "симпатичных" URL - PullRequest
0 голосов
/ 21 января 2011

Мне известны mod_rewrite методы для преобразования некрасивых URL в красивые. Мой вопрос предшествует этому обращению.

Я еще не разработал свой веб-сайт. Я бы хотел, чтобы все страницы были такими, чтобы красивые URL-адреса были также красивыми на стороне сервера.

Я хотел бы придумать общее правило для ВСЕХ страниц. Обычно все страницы немного отличаются ...

/news/12345                        =>    /news.php?id=1234
/members/Mikhail                   =>    /members.php?name=Mikhail
/subsection/page/banned-members    =>    /subsection/page.php?view=banned-members

В трех приведенных выше примерах имя переменной GET отличается для каждого случая, и третий пример ТАКЖЕ можно разработать так, чтобы он интерпретировался как /subsection.php?file=page&view=banned-members

Итак, мой вопрос : что я могу сделать, с точки зрения дизайна, у меня есть элегантное решение на стороне клиента и сервера для создания красивых URL-адресов?

Спасибо!

Ответы [ 3 ]

3 голосов
/ 21 января 2011

Общее правило будет состоять в том, чтобы использовать часть URL-адреса для идентификации ресурсов и параметры GET для необязательных изменений в представлении ресурса.

Например, для URL-адреса профиля пользователя:

/ user / joe

и

/ user / joe? Showfull = 1

Оба одинаковых ресурса (профиль пользователя), но последний указываеткак представить информацию (показать полную информацию о пользователе вместо суммы по умолчанию).

Применив это соглашение к приведенным выше примерам, я бы предпочел:

/news/12345
/members/Mikhail 
/subsection/page?view=banned-members
1 голос
/ 21 января 2011

В PHP одним из возможных решений является центральный файл PHP, который обрабатывает все URL-адреса сайта.Этот скрипт обрабатывает целые строки URL и загружает соответствующий контент.Он позволяет выполнять все виды переписывания или перенаправления в PHP.

0 голосов
/ 21 января 2011

Использование ASP.NET MVC Framework является потомком для дизайна "Pretty URL"

РЕДАКТИРОВАТЬ : Извините, вы не заметили ваши PHP-файлы ... есть также ряд PHP MVC-фреймворков (хотя у меня нет опыта работы с красивыми URL)

...