2011-01-21 2 views
0

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

Я еще не разработал свой сайт. Я хотел бы создать все страницы так, чтобы симпатичные 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

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

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

/пользователь/Joe

и

/пользователь/Joe showfull = 1

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

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

/news/12345 
/members/Mikhail 
/subsection/page?view=banned-members 
+0

Мне это нравится. Так будет ли 'subsection' быть реальным каталогом? Я предполагаю, что я бы сделал такие вещи, как '/ staff /' или '/ tools /' в фактических каталогах – Mikhail

+0

Для новостей и членов переменная GET будет просто «param []», поэтому это единое правило, которое будет описывать все страницы – Mikhail

0

Использование рамки ASP.NET MVC является плакат-ребенок «довольно URL» конструирует

EDIT: К сожалению, не заметил, ваши PHP-файлы ... Есть целый ряд рамок PHP MVC (хотя у меня нет опыта с тем, как выглядят красивые URL-адреса)

+0

хорошо язык не имеет значения. Я говорю о концептуальном подходе. То, что сказал Карл Р, - актуально и замечает - языковая сдержанность – Mikhail

+0

Хорошо, тогда окажется, что архитектура MVC может быть хорошим подходом для вас. Каждая конфигурация MVC, которую я видел, имеет URL-адрес так же, как и то, что вы сказали. – Matthew

1

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

Смежные вопросы