Самостоятельное создание сайта
Самостоятельная раскрутка и продвижение сайта

Создание статических страниц

   В процесе создания сайта, Вы столкнетесь с мнениями других веб-мастеров о преимуществе статического сайта над динамическом в плане его лучшей индексации поисковыми системами.
   В руководстве веб-мастеров на Google написано: если вы решите использовать динамические страницы (то есть такие, в URL которых содержится символ "?"), учтите, что не все сканеры поисковых систем сканируют динамические страницы так же успешно, как и статические, лучше сократить длину и количество параметров. Таким образом, как видно, индексация динамических страниц затрудняется из-за символа "?" и длины/количества параметров.
   По моей практике, могу сказать что динамическая страница с 4-5 параметрами в адресной строке успешно индексируется поисковыми системами без каких-либо проблем. Но все же, многие веб-мастера стараются не использовать динамические адресные строки с символом "?", а используют метод передачи данных в виде виртуальных каталогов (например, http://info-pages.com.ua/catalog/2).

   Суть такого метода лежит в следующем. Используется обработка адресной строки и ее преобразования самим Web-сервером, с помощью файла .htaccess и правила для Web-сервера mod_rewrite. Другими словами, все параметры передаются в виде виртуальных папок, а Web-сервер отбирает эти параметры, составляет динамическую адресную строку и выполняет файл index.php.

   Например у вас есть адресная строка:
   http://info-pages.com.ua/index.php?catalog=2&tema=style
   Мы переделываем ее в виде ссылки с виртуальными папками и получаем:
   http://info-pages.com.ua/catalog/2/tema/style

   Дальше, нам необходимо указать Web-серверу обработать ссылку и передать параметры файлу index.php.
   Для этого, в файл .htaccess пишем следующий код:

   #Включаем mod_rewrite
   RewriteEngine On
   Options +FollowSymLinks
   #Указываем путь к index.php в отношении места нахождения файла .htaccess
   RewriteBase /
   RewriteRule ^(.*)/catalog/(.*)/tema/(.*)$ $1/index.php?catalog=$2&tema=$3

   Таким вот образом, мы указали Web-серверу, что если будет переход по адресной ссылке подпадающей под этот шаблон, то ему необходимо ее обработать и передать параметры файлу index.php. Теперь детально разберем пример выше:

   Функция RewriteRule - перенаправление ссылки, с указаного шаблона ^(.*)/catalog/(.*)/tema/(.*)$ на ссылку $1/index.php?catalog=$2&tema=$3, где
^ - символ начала строки;
$ - символ окончания строки;
(.*) - любой символ (количество символов), которые заносятся в переменные (можете также попробовать "([^/]+)", "([^&]+)" и "([^]+)", так как комбинация (.*) очень прожорливая перебирает все комбинации, тогда как перечисленые - означают подставить символ (символы) не равные слешу, амперсанду или обратному слешу, соответственно);
$1, $2, $3 - это переменные которые мы получили в результате, соответственно.

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

   Возможные проблемы после установки кода:
   Вам необходимо будет указать пути в рисункам (изображениям) и библиотекам стилей так как, Web-сервер начинает их искать в виртуальной папке к которой мы вроде как перешли, для этого чтобы указать правильный путь к подгружаемым рисункам и библиотекам стилей укажиже в теге <head> перед загрузкой библиотек стилей тег <base href="http://ваш_хост">.
   Для удобства определения хоста можете использовать значение переменной PHP $_SERVER['HTTP_HOST'].

355
3.2 13
Рейтинг: +3.2 , голосов 13
Вы еще не голосовали!
Добавить комментарий (комментариев: 5)
Удалить ответ

Ваш почтовый ящик никогда не будет опубликован
Трудно разобрать цифры? Нажмите на рисунок, чтобы обновить.
#1 07/09/2010 20:06 Эд
reply
Добра стаття, дякую.
#2 13/07/2009 14:48 repus
reply
У МЕНЯ ТАКАЯ ССЫЛКА
http://rebiznes.ru/bord/adds_show.php?page=1&catid=48obiavlenia_lugansk-portal.html

КАК ЕЕ ПРЕДЕЛАТЬ С ПОМОЩЬЮ ФАЙЛА htasse к такому виду

http://rebiznes.ru/bord/adds_show.php+page=1+catid=48obiavlenia_lugansk-portal.html Спасибо!
#3 22/10/2008 03:54 сашок
reply
Спасибо. Нашол проблему. Просто не не был включен AllowOverride. Прописал после него all все заработало. p.s. Спасибо за эту статью. Давно хотел понять по какому принципу работают сайты без отображения скриптов в урле и нашол инфу тока на твоем сайте. Удачи!
#4 21/10/2008 00:52 сашок
reply
памагите. на виндах работало нормально, на фрях нивкакую. не происходит редиректа. использую Apache/1.3.41
21/10/2008 21:20 admin
Привет, почитай здесь:
http://xpoint.ru/forums/internet/webservers/apache/thread/33697.xhtml
или здесь
http://forum.ixbt.com/topic.cgi?id=69:139-3
(найди вопрос "Как прикрутить mod_rewrite к Апачу под FreeBSD?")
судя по всему виной всему твой апач, перекомпилируй его как написано по второй ссылке или смени версию.

Дополнительно

» С чего начать сайт?

» Установка программ

» Пример создания сайта

» Хостинг и домен

» Оптимизация сайта

» Раскрутка сайта

» Заработок web-мастера

» Примеры PHP/Javascript

» Блог и мои записки

Последние новости

Статьи по рейтингу

» Особенности покупки контента 5.0 1
» Выбор хостинга 4.8 5
» Поисковые системы 4.7 9
» Курс молодого web-мастера 4.6 21
» Где взять бесплатные ссылки 4.5 11
» Что такое сниппеты 4.5 6
» Addstudio - SEO модуль 4.5 4
» Отладка js и CSS 4.4 14
» Стратегия дохода на Sape.ru 4.3 3
» Каталоги и биржи статей 4.3 4