Портал для веб-мастера

Инструменты для Бизнеса

Вход пользователей
Поиск статей
WoWeb.ru » Статьи » Apache

Раскрутка сайта, поисковики и... mod_rewrite
Всем привет! Для кого предназначена эта статья - для веб разработчиков, для которых реально, что вся раскрутка сайта, которая ему (сайту) нужна, заключается в достижение высших позиций в наиболее популярных поисковых машинах по интересующим ключевым словам, ну и для остальных работников рекламы в интернете (для общего развития, так сказать :-)

ОК. Сразу к делу - как известно, не все еще люди научились пользоваться правильными поисковыми машинами типа Google или Yandex, многие (видать, по-старинке) продолжают использовать для поиска в Интернете поисковики НЕправильные. В чем различие между правильным и НЕправильным поисковиком? Навскидку, оных различий много, но одно из основных - это то, что НЕправильные поисковые машины НЕ индексируют сайты c динамическим содержимым . Мы здесь не будем показывать пальцем, но таких поисковиков достаточно много (например тот, который на "Ра" начинается и на "мблер" заканчивается).

И вот допустим, что вы решили создать и раскрутить сайт (реклама в интернете - великая вещь ;-) Да вот незадача - вы хотите иметь на оном сайте и гостевую книгу, и каталог товаров, и... И для этого сайт должен быть динамическим. И адреса у вас в оном каталоге будут типа ...?tovar=good&indexed=false - так что вышеупомянутый "мблер" оставит ваш сайт за бортом :-( Конечно, вы можете сказать - "Да мы раскрутим сайт и безо всякого там Рамблера! Да нам на Ра..." - расскажу вам историю двухнедельной давности:

Прихожу я в одну контору (мы вели переговоры отн. создания трех сайтов). Ну сидим мы общаемся. Вопрос заказчика:

  • А вы сможете вывести нас в первую десятку сайтов, выдаваемых Рамблером по ключевому слову "......"
  • Ну да, конечно, хотя я предпочитаю использовать Гугль, когда ищу по вашей тематике.
  • ??? А что такое Гугль???
Вот так-то! А вы говорите Яндекс :)

Можно, конечно (ежели уж совсем серьезно подойти к рекламе в интернете - а как иначе? :) делать отдельный сайт для каждого отдельного поисковика (и в общем-то это правильно), но тогда вам понадобится создать и раскрутить не один, как минимум 3-5 сайтов, что весьма и весьма трудоемко.

В общем, я расскажу вам об основах того, как сделать, чтобы ваш динамический сайт индексировался Рамблером и другими подобными скриптоненавистническими поисковыми системами. Данная технология используется на моем новом сайте (внимание, рекламная пауза ;-) Реклама в интернете создание и раскрутка сайта

Во первых давайте посмотрим вот на что: каким именно образом робот понимает, что ваш сайт имеет динамическую структуру? Правильно - он смотрит параметр 'href' тэга 'A' и если в оном есть знаки ? или & и если робот НЕправильный, то страницу по данному адресу он индексировать не будет. Таким образом, задача заключается в том, чтобы убрать из строки урла вышеупомянутые символы. А как же тогда передавать параметры скрипту? Как...

Далее по пунктам (ежели что непонятно будет пишите лично - разберемся). Все повествование будет вестись на основе реальной разработки, и на выходе мы получим маленький жизнеспособный скрипт, поняв принципы работы которого, вы сможете написать большой и глючный интернет-магазин ;-)

  1. Давайте сразу четко сформулируем задачу: нам нужно каким-то образом вызвать некий скрипт и передать ему некие параметры, при этом адресная строка должна выглядеть как для нормального, статического сайта. Это просто, если мы передаем скрипту данные из формы - ставим "POST" и все дела. Но мы то с вами должны передать параметры из гиперссылки, то есть через URL, то есть методом GET, то есть в УРЛе будут ? или &, то есть...
    ОК. Есть такой файл, называется .htaccess - в нем вы можете задать некотрые директивы, управляющие сервером Apache (сложно писать для "широкой" аудитории - кто-то сейчас читает и думает про себя - чего он тут нам "азбуку жует", а кто-то прочитал предыдущую фразу, и материт меня за "тарабарщину всякую"). Ну и ладно. В общем знать об этом самом .htaccess нужно примерно следующее - разместив оный файл в какой-либо папке на сервере, и написав в нем всякие штуки, мы можем изменить поведение сервера, применительно к данной папке (если, конечно хост провайдер разрешает). Короче:

    Помещаем файл с именем .htaccess в корневую папку свего сайта (DocumentRoot) - обычно она называется WWW или www
    И пишем в него следующие строки:
    RewriteEngine on
    RewriteRule ^core.php$ - [L]
    RewriteRule .* /core.php
    О чем это я? Аааа... ну да - есть такой модуль Apache - mod_rewrite называется. Описание данного модуля, как это обычно говорится, выходит за рамки данной статьи - суть в том, что mod_rewrite делает с путями на сервере, что душе угодно и использует синтаксис регулярных выражений в стиле Perl - интересующиеся могут порыться в интернете в поисках документации к оному. И все же, что мы там понаписали в .htaccess
    RewriteEngine on
    # Данной директивой .htaccess мы включаем mod_rewrite
    RewriteRule ^core.php$ - [L]
    # Даем понять серверу, что если запрошен файл с именем core.php (название может быть произвольным) то с оным файлом нужно поступить так, как обычно сервер поступает с предателями... простите с файлами, имеющими расширение .php - передать на обработку дальше (модулю PHP).
    RewriteRule .* /core.php
    # Внимание! Здесь происходит то, ради чего мы и городим весь огород - теперь, что бы мы не написали в адресной строке - не имеет (пока не имеет) ни какого значения - в любом случае будет вызван скрипт с именем core.php Но! Но в адресной строке набранный адрес остается прежним, то есть переменная окружения REQUEST_URI если набрано, например www.somehost.org/123 будет равна именно этому самому 123 и...

  2. И мы можем запросто разобрать эту строку в core.php, таким образом, мы передаем данные прямо в имени файла!!!
    Пишем тестовый скрипт и сохраняем как core.php :
    function parse($uri){ 	if($uri){ // вырезаем цифровые значения из строковой переменной $uri в массив $uri_number 		eregi("[[:digit:]]+",$uri,$uri_number); //выводим первый элемент массива в браузер		 		echo $uri_number[0]; 	} } // вызываем функцию с глобальной переменной $REQUEST_URI в качестве параметра parse($REQUEST_URI); 
  3. Теперь набираем в строке браузера что-нибудь типа http://имя_вашего_хоста/vasia12345.html Уррра!!! Получилось! (у меня все работает по крайней мере :-) Заметьте, что мы вызвали несуществующий файл vasia12345.html - сервер вернул нам OK (т.е. файл найден) - и вывел в браузер цифры 12345. Оные же цифры и буквы (для тех кто в танке ;-) можно передавать в качестве параметров в функции, внутри скрипта и пр.
    Рамблер доволен, мы довольны, все довольны! :-))
В заключение, хочу отметить, что описанный метод, далеко не единственный - я знаю по меньшей мере еще три способа избавиться от прелестей метода GET. Но данный путь, на мой взгляд самый гибкий и удобный.

Всего! Духанин Роман (aka RWinner)
Реклама в интернете создание и раскрутка сайта статьи аналитика

© допускается свободное распространение данной статьи "as is" (как есть) без купюр и сохранением гиперссылок, по данную строку включительно
Автор: Духанин Роман (aka RWinner) · Добавлена: 2003-03-31
Источник статьи · Просмотров: 8362 · Рейтинг: 3.4

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Категории раздела
Flash
Apache
WWW
PhotoShop
Веб-дизайн
Раскрутка и реклама
Базы данных
3D графика
Хостинг
Истории веб-мастеров
Web-технологии
Сетевая безопасность
Программирование для Web
Операционные системы

Новые статьи
Лучшие статьи
Популярные статьи
Комментируемые статьи
Разделы сайта
Скрипты
Статьи
Шрифты
Флэш исходники
HTML шаблоны
Партнерки
Клипарты
Смайлы
Фоны
Гифы
Иконки
Опрос сайта
Ведете ли вы блог?
Всего ответов: 60296
Наша кнопка
WoWeb.ru - портал для веб-мастера