Модуль не найден Создание ЧПУ на php (красивые адреса страниц)
Наше прошлое 20072009201120132014
г. Москва, ул. Гостиничная, д. 7А. кор.2
8 (499) 404-26-56
пн-пт 11:00 - 19:00
 

Создание ЧПУ на php (красивые адреса страниц)

При создании сайта очень важно, чтобы интернет магазина не только был полезным для посетителей, но и чтобы он легко находился в поисковых системах..

Для поисковых систем Яндекс, 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 "Маршрут не задан";
}

?>

Скачать исходник

При создании сайта очень важно, чтобы интернет магазина не только был полезным для посетителей, но и чтобы он легко находился в поисковых системах.. Для поисковых систем Яндекс, Google и Rambler большое значение имеет не только внутреннее наполнение сайта, но и ключевые слова в строке адреса.

Комментарии

Нет комментариев

Заполните все поля

Написать комментарий

Ваше имя

Комментарий