[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Получение правильных ссылок без mod_rewrite
linf
На всякий случай, покажу пример получения "правильных" адресов, когда использование mod_rewrite не возможно. Например на бесплатном хостинге при тестирование вашего проекта. В классическом виде, за mod_rewrite'ом скрывается ссылка вида: www.site.ru/index.php?show=video , потому что такие ссылки дают знать поисковой машине, что страница у нас сгенерировна динамически, а поисковикам больше нравятся статические.

Тоесть, что бы небыло в адресной строке, фактически мы получили переменную и ее значение (index.php?show=video), в зависимости от которого можем выводить ту или иную информацию:
if ($_GET['show'] == 'video') {echo "список видеозаписей";}
elseif ($_GET['show'] == 'book') {echo "список книг";}
....
else {echo "показываем что-то еще, вне условия";}

---------------------------------------------------------------
Теперь пару чудес. Если мы убираем "=" из адреса, то поисковик даже и не подозревает о том, что страница у нас динамическая (ибо нет переменных и значений). Все остальное в ссылке может быть. Но как же тогда получить значение? Все просто, значением будет сама перменная: www.site.ru/?video.html Далее просто необходимо получить переменныю - которая является ключем в массиве $_GET. !!! Именно переменную, а не значение, так как значения у нас нет!!! Переберм для этого массив $_GET хитрым образом (получая ключи, а не значения!).
foreach ($_GET as $link => $value);
$show = str_replace("_html", "", $link);

Исходя из нашего примера значение $show будет равно: 'video'. Можно вывести и по другому, например если есть ограниченный набор заранее известных значений.
foreach ($_GET as $link => $value);
preg_match ("/text|video|audio|book/i", $link, $show);
$show = $show[0];
// тут даже не приходится затирать '_html' в хвосте


А дальше как уже и писали выше, выводим то, что нужно по условию
if ($show == 'video') {echo "список видеозаписей";}
elseif ($show == 'book') {echo "список книг";}
....
else {echo "показываем что-то еще, вне условия";}


-----------------------------------------------------------

Теперь представим что у нас есть и категории 'video', 'book', 'text' и значения в каждой категории 56, 78, 123. Что характерно например для мультиконтентного сайта. В таком случае наша ссылка может иметь вид: www.site.ru/?video/123.html
//перебираем глобалтный массив:
foreach ($_GET as $link => $value);

// получаем категорию точно так же как и раньше (ничего не меняем):
preg_match ("/text|video|audio|book/i", $link, $show);
$show = $show[0];

// получаем ID контента:
$id = preg_replace("/[^0-9]/", "", $link);


Таким образом вы получили категорию $show = 'video', и $id = '123', опираясь на которые можем выводить необходимый формат для нашей страницы.

И все это без mod_rewrite =)



Спустя 2 часа, 37 минут, 23 секунды (10.10.2011 - 18:14) alive написал(а):
интересненько!
а на сколько чаще западают поисковики на статические по отношению к динамическим страницам?

Спустя 1 час, 17 минут, 12 секунд (10.10.2011 - 19:31) caballero написал(а):
современным поисковикам (во всяком случае гуглу и яндексу) без разницы (если в URL нету идентификаторов сессии или похожей фигни).
Более того URL должен соответствовать содержанию страницы - поэтому всякие хитрые подмены адресов могут быть даже во вред

Спустя 13 часов, 16 минут, 28 секунд (11.10.2011 - 08:47) linf написал(а):
Цитата (caballero @ 10.10.2011 - 20:31)
современным поисковикам (во всяком случае гуглу и яндексу) без разницы (если в URL нету идентификаторов сессии или похожей фигни).

Более того URL должен соответствовать содержанию страницы - поэтому всякие хитрые подмены адресов могут быть даже во вред

1. Познакомьтесь с принципами СЕО ОПТИМИЗАЦИИ
2. В моем случае URL не соответствует содержанию страницы?

Спустя 25 дней, 4 часа, 13 минут, 51 секунда (6.11.2011 - 13:01) Calt написал(а):
В учебнике модификация скрипта
http://depositfiles.com/files/1ddv6idu4?redirect

Спустя 16 минут, 5 секунд (6.11.2011 - 13:17) Игорь_Vasinsky написал(а):
Calt
Тызадрал уже флудить пиаря свой завирусованный архив, к тому же ещё на безпонтовом файлообменнике.


_____________
Live in new format =)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.