При создании сайта очень важно, чтобы интернет магазина не только был полезным для посетителей, но и чтобы он легко находился в поисковых системах..
Для поисковых систем Яндекс, Google и Rambler большое значение имеет не только внутреннее наполнение сайта, но и ключевые слова в строке адреса. Для грамотной оптимизации сайта, нужно не только уделить большое внимание написанию текстов для сайта, но и отображению ссылок на эти текста. Например, сайт о веб-дизайне с адресом: "http://example.com/index.php?page=7&article=2", поисковики хуже воспримут, чем сайт с адресом такого вида: "http://example.com/web-design/". И обычному пользователю в случае необходимости легче будет запомнить полный адрес.
Для создание красивых адресов в веб серевере apache есть модуль mod_rewrite. Обычно он включен по-умолчанию почти на всех хостингах. Он работает быстрее, правильней и гибче других методов, типа «чпу при помощи 403 ошибки», и т.д.
В настоящее время при продвижении сайта и интернет-магазина, чпу - это одно из обязательных требований.
Вот небольшой пример создания чпу на php:
1. Сделаем файл .htaccess, и включим в нем mod_rewrite:
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1
2. Сделаем файл index.html, это будет первая страница:
<h1>Главная страница</h1> <br/> <a href="/hpu/page/article-1/">Статья 1</a> / <a href="/hpu/article-2/">Статья 2</a>
3. Сделаем файл 1.html, это будет вторая страница:
<h1>Статья 1</h1> <p>Путь к странице <b>/page/article-1/</b>, а файл <b>1.html</b></p> <br/> <a href="/hpu/page/article-1/"><b>Статья 1</b></a> / <a href="/hpu/article-2/">Статья 2</a>
4. Сделаем файл 2.html, это будет третия страница:
<h1>Статья 2</h1> <p>Путь к странице <b>/article-2/</b>, а файл <b>2.html</b></p> <br/> <a href="/hpu/page/article-1/">Статья 1</a> / <a href="/hpu/article-2/"><b>Статья 2</b></a>
5. Сделаем файл index.php, он будет обрабатывать адреса страниц, и реализовывать чпу:
<?php
/**
* Класс для обработки ЧПУ-запросов
* @author дизайн студия ox2.ru
*/
class Router {
private $_route = array(); //Переменная хранит маршруты, и файлы, которые будут открываться при определеном маршруте
/**
* Метод для установки маршрута, и файла который будет открываться при заданом маршруте
* @param <string> $dir - маршрут
* @param <string> $file - адрес файла
*/
public function setRoute($dir, $file) {
$this->_route[trim($dir, "/")] = $file;
}
/**
* Метод смотрит текущий адрес, и сверяет его с установленными маршрутами,
* если для открытого адреса установлен маршрут, то открываем страницу
* @return <boolean>
*/
public function route() {
if (!isset($_SERVER["PATH_INFO"])) { //Если открыта главная страница
include_once "index.html"; //Открываем файл главной страницы
} elseif (isset($this->_route[trim($_SERVER["PATH_INFO"], "/")])) { //Если маршрут задан
include_once $this->_route[trim($_SERVER["PATH_INFO"], "/")]; //Открываем файл, для которого установлен маршрут
}
else return false; //Если маршрут не задан
return true;
}
}
$route = new Router;
$route->setRoute("page/article-1/", "1.html"); //Устанавливаем маршрут "page/article-1/", и файл который будет открываться при этом маршруте
$route->setRoute("article-2", "2.html");
if (!$route->route()) { //Если маршрут не задан..
echo "Маршрут не задан";
}
?>





Уроки по PHP
JavaScript
Уроки по HTML
Дизайнерам
СЕОшникам
Разное


Комментарии
Заполните все поля
Написать комментарий