Общие > Веб-технологии

чайниковский вопрос про использование mod_rewrite

(1/1)

D.O.:
Для поисковой оптимизации есть известная рекомендация использовать mod_rewrite для замены URL страниц сайта вида /page.cgi?param=value на /page/value.

Вопрос:
Как быть с существующими скриптами, которые формируют URL сыслок на страницы сайта? Можно обойтись без переписывания скриптов?

P.S.:
Статьи по теме прочитал (http://www.searchengines.ru/articles/004541.html и http://www.searchengines.ru/articles/004504.html). Там примеры только для PHP, а у меня Perl. Все ссылки имеют вид /cgi-bin/path/my_script.pl?param1=val1¶m2=val2

Демет:
mod_rewrite никак не связан с языком программирования.

Croaker:

--- Цитировать ---D.O.:
Как быть с существующими скриптами, которые формируют URL сыслок на страницы сайта? Можно обойтись без переписывания скриптов?
--- Конец цитаты ---


Нет, нельзя. Оптимизированые URL`ы для поисковиков должен создавать ты, а не mod_rewrite (как тебе, видимо, показалось). Соотвественно скрипты тоже изменять тебе. mod_rewrite лишь берет измененный URL, переводит его в соотвествии с твоими правилами в нормальный вид и отправляет запрос обрабатываться дальше.

D.O.:
Продолжение вопроса.

Допустим, я прописал в .htaccess:
ErrorDocument 404 /cgi-bin/scripts/handler.pl

В этом скрипте я разбирал бы URL вида ".../cgi-bin/scripts/script/param1-val1/param2-val2" и формировал бы из этого строки вида ".../cgi-bin/scripts/script.pl?param1=val1¶m2=val2".
Как мне из handler.pl вызвать script.pl с такой строкой параметров так, чтобы:
1) не менять обработку параметров в script.pl,
2) чтобы клиенту (и пользователю браузера, и поисковому роботу) был виден только вызываемый им URL вида ".../cgi-bin/scripts/script/param1-val1/param2-val2", а не реальный вызываемый script.pl со всеми параметрами после "?".
Как делается такой невидимый редирект?

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии