При создании сайта очень важно, чтобы интернет магазина не только был полезным для посетителей, но и чтобы он легко находился в поисковых системах..
Для поисковых систем Яндекс, 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 "Маршрут не задан"; } ?>
Комментарии
Заполните все поля
Написать комментарий