Мне нравится, как SO дает ссылку на вопрос. Как этот вопрос, ссылка http://stackoverflow.com/questions/6002203/seo-friendly-url
где заголовок вопроса является seo-friendly-url
Я создаю блог, где я хочу дать ссылку таким же образом, как это сделать, как это сделать на PHP?
Любое предложение приветствуется 🙂
Структура таблицы
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
Вы можете улучшить решение, объявив функцию отбраковки и использовать ее непосредственно в маршрутах
Второе решение
Используйте любое решение для ведения блога, которое уже поддерживает его – как написано 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
. Это будет ключом в вашей базе данных для этой статьи.