SEO Friendly URL

Мне нравится, как SO дает ссылку на вопрос. Как этот вопрос, ссылка http://stackoverflow.com/questions/6002203/seo-friendly-url где заголовок вопроса является seo-friendly-url

Я создаю блог, где я хочу дать ссылку таким же образом, как это сделать, как это сделать на PHP?
Любое предложение приветствуется 🙂

Структура таблицы

  • Я БЫ
  • заглавие
  • Теги
  • категория
  • UID

Added
Я использую PHP / APACHE и без рамки! Я не хочу использовать какой-либо блог, хочу создать свой собственный

Я не знаю, почему люди так умышленно тупые здесь …

То, что вы ищете, это mod_rewrite , модуль apache для перезаписи URL.

В вашем файле .htaccess (возможно, вам понадобится сделать это):

 <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^blog\/([0-9]+)\/.*$ /blog.php?post=$1 [L] </IfModule> 

Это означает, что когда вы переходите в /blog/10/any-old-bit-of-text/ за кулисами, оно идентично, если вы посетили /blog.php?post=10 .

Бит ([0-9] +) называется регулярным выражением (или регулярным выражением) и соответствует любому числу. « .* Означает что-либо. ^ Привязывает начало запроса и $ anchors до конца. косые черты (/) экранируются как \/ .

Прежде всего, вы не писали, какие рамки вы используете. Я описываю, что вы хотите сделать в рамках Symfony

Первое решение

http://www.symfony-project.org/jobeet/1_4/Doctrine/en/05#chapter_05_route_customizations

  1. Измените маршруты на механизм маршрутизации, чтобы понять «Хорошие URL-адреса»,
  2. Измените действие контроллера, которое отвечает за поиск нужной записи с вашей статьей

Вы можете улучшить решение, объявив функцию отбраковки и использовать ее непосредственно в маршрутах

Второе решение

Используйте любое решение для ведения блога, которое уже поддерживает его – как написано ceejayoz

Вы можете использовать PHP и Apache вместе. В частности, тип файла Apache. В этой статье объясняется, как использовать Forcetype .

Допустим, у вас есть такой URL: http://www.example.com/article/seo-friendly-example

Файл .htacess будет выглядеть так:

 <Files article> ForceType application/x-httpd-php </Files> 

PHP выглядел бы примерно так:

 <?php list(,$slug) = explode("/", $_SERVER['REQUEST_URI']); ?> 

Значение $slug было бы seo-friendly-example . Это будет ключом в вашей базе данных для этой статьи.