Общие > Веб-технологии
чайниковский вопрос про использование 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 со всеми параметрами после "?".
Как делается такой невидимый редирект?
Навигация
Перейти к полной версии