Динамический mod_rewrite или как спланировать динамический сайт - PullRequest
2 голосов
/ 28 марта 2010

Я пытаюсь создать чистый URL для блога на динамическом веб-сайте, но я думаю, что проблема в том, что я не знаю, как планировать схему веб-сайта.

Я читал о том, как использовать mod_rewrite, и все, что я нашел, это как сделать "http://www.website.com/?category&date&post-title" to" http://www.website.com/category/date/post-title"., что мне подходит.

Проблема в том, что если мой URL выглядит как "http://www.website.com/blog/?id=34", этот метод не будет работать, насколько я понял.

Итак, у меня два вопроса: 1. Есть ли способ использовать mod_rewrite (возможно, прочитанный из txt-файла), чтобы прочитать заголовок моего блога и переписать мой URL по дате и заголовку? 2. Должен ли я переписать свой веб-сайт для запроса данных из одного индексного файла на домашней странице и использовать mod_rewrite, чтобы написать красивый URL? я должен запросить также дату и заголовок сообщения вместо просто идентификатора сообщения?

Ответы [ 3 ]

2 голосов
/ 28 марта 2010
  1. mod_rewrite используется для перезаписи запросов и не имеет ничего общего с URL-адресами. Вы должны изменить URL-адреса вручную.
  2. да, это наиболее распространенная практика - запрашивать данные из одного индексного файла
    нет, вы не можете использовать mod_rewrite, чтобы написать хороший URL
    да, идентификатор должен присутствовать в URL вместе с названием. ваш движок просто выбрасывает заголовок и использует только идентификатор для получения статьи.

Взгляните на SO URL для примера

1 голос
/ 28 марта 2010

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

Самые популярные PHP-фреймворки (CakePHP, Symphony, Codeigniter и т. Д.) Содержат код маршрутизации, который вы можете использовать или который может послужить источником вдохновения. В качестве альтернативы эта статья охватывает множество основ, если вы хотите сделать это самостоятельно: http://www.phpaddiction.com/tags/axial/url-routing-with-php-part-one/

0 голосов
/ 28 марта 2010

RewriteMap позволяет выполнять все виды динамического переписывания (текстовый файл, скрипт и т. Д.).

...