Индексация @

12
TO
На сайте с 09.08.2004
Offline
97
#11

Согласно стандарту RFC 2396 знак @ разрешен.

google всё же любит прямые ссылки больше, чем "кривые", но в индексацию всё-равно примет.

SunDrop
На сайте с 28.12.2005
Offline
34
#12
_Nic_:
А может кто-то супер-любезный дать код .htaccess, чтоб вместо @ было "?" или "&"

Если тебе URL-ы выхода нужно поменять, то это ж не в mod_rewrite делается.

mod_rewrite преобразовывает ТОЛЬКО ВХОДНЫЕ URL!

Для выхода используй:

1) Совет rengen и пробегись по скриптам редактором.

2) Поменять все выходные URL на правильные руками или напрягая программера

3) Использовать в скриптах буферизацию вывода. Вот простой пример:


<?php
function callback($buffer)
{
// replace all the apples with oranges
return (str_replace("apples", "oranges", $buffer));
}

ob_start("callback");
?>
<p>It's like comparing apples to oranges.</p>
<?php
ob_end_flush();
?>

Выведет: <p>It's like comparing oranges to oranges.</p>

Вместо function callback используешь свою функцию, которая меняет тебе URL-ки как тебе нужно.

Теперь конкретнее на примерах:

У тебя есть страница со ссылкой http://site.ru/test.php@id=115

Скрипт test.php разбирает эту строку самостоятельно.

Тебе нужны URL вида http://site.ru/test/115

Т.к. это УРЛ на выходе и mod_rewrite тут не поможет.

Меняем эти УРЛы в скрипте (так как написано выше)

А уже самом mod_rewrite загоняем их в виде http://site.ru/test.php@id=115

Вот пример обратного преобразования на mod_rewrite (вставляем например в .htaccess):


# Запуск mod_rewrite
Options +FollowSymLinks
RewriteEngine on
#
# Внутренние преобразования статических URL в динамические
RewriteRule ^product/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$
/index.php?product=$1&color=$2&size=$3&texture=$4&maker=$5 [L]
#
# Внешний редирект клиента со старых динамических URL на новые статические
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\
/index\.php\?product=([^&]+)&color=([^&]+)&size=([^&]+)&texture=([^&]+)&maker=([^\ ]+)\ HTTP/
RewriteRule ^index\.php$ http://example.com/product/%1/%2/%3/%4/%5? [R=301,L]
В 20 лет он знал 9 операционных систем и 15 языков программирования, но ни одной женщины
[Удален]
#13

Всем респект! Особенно SunDrop

разобрался

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий