Пошаговая инструкция о создании оптимизированного для SEO URL-адреса с динамическим контентом с использованием PHP и перенаправления мода .htaccess.Дружественные URL-адреса улучшают рейтинг вашего сайта в поисковых системах.Прежде чем пытаться это сделать, вы должны включить модуль mod_rewrite.so по адресу httpd.conf.Это всего лишь несколько строк PHP-кода, преобразующего данные заголовка в чистый формат URL.
База данных
Пример идентификатора столбцов таблицы блога в базе данных, заголовок, текст и URL.
CREATE TABLE `blog`
(
`id` INT PRIMARY KEY AUTO_INCREMENT,
`title` TEXT UNIQUE,
`body` TEXT,
`url` TEXT UNIQUE,
);
Publish.php
Содержит код PHP.Преобразование текста заголовка в понятный формат URL и сохранение в таблице блога.
<?php
include('db.php');
function string_limit_words($string, $word_limit)
{
$words = explode(' ', $string);
return implode(' ', array_slice($words, 0, $word_limit));
}
if($_SERVER["REQUEST_METHOD"] == "POST")
{
$title = mysql_real_escape_string($_POST['title']);
$body = mysql_real_escape_string($_POST['body']);
$title = htmlentities($title);
$body = htmlentities($body);
$date = date("Y/m/d");
//Title to friendly URL conversion
$newtitle = string_limit_words($title, 6); // First 6 words
$urltitle = preg_replace('/[^a-z0-9]/i', ' ', $newtitle);
$newurltitle = str_replace(" ", "-", $newtitle);
$url = $date . '/' . $newurltitle . '.html'; // Final URL
//Inserting values into my_blog table
mysql_query("insert into blog(title,body,url) values('$title','$body','$url')");
}
?>
<!--HTML Part-->
<form method="post" action="">
Title:
<input type="text" name="title"/>
Body:
<textarea name="body"></textarea>
<input type="submit" value=" Publish "/>
</form>
Article.php
Содержит код HTML и PHP.Отображение содержимого из таблицы блога.
<?php
include('db.php');
if($_GET['url'])
{
$url =mysql_real_escape_string($_GET['url']);
$url = $url . '.html'; //Friendly URL
$sql = mysql_query("select title,body from blog where url='$url'");
$count = mysql_num_rows($sql);
$row = mysql_fetch_array($sql);
$title = $row['title'];
$body = $row['body'];
}
else
{
echo '404 Page.';
}
?>
<!-- HTML Part -->
<body>
<?php
if($count)
{
echo "<h1>$title</h1><div class='body'>$body</div>";
}
else
{
echo "<h1>404 Page.</h1>";
}
?>
</body>
.htaccess
Файл перезаписи URL.Перенаправление исходного URL-адреса 9lessons.info/article.php?url=test.html на 9lessons.info/test.html
RewriteEngine On
RewriteRule ^([a-zA-Z0-9-/]+).html$ article.php?url=$1
RewriteRule ^([a-zA-Z0-9-/]+).html/$ article.php?url=$1