Ответ
G_Z 12.08.2003 14:34
/ 12.08.2003 14:35
Misha v.3M> 1. телепорт сам умеет облазить ссылки, в том числе с параметрами и сохранять на
M> диске ЭТО с иными именами, при этом правильно корректирует все ссылки...
Прошу прощения, я недостаточно пояснил ситуацию.
Дело в том, что для сохранения страниц в телепорте отключена локализация файлов. Он лишь повторяет структуру каталогов сервера при сохранении. Сделано это по многим причинам, как то: применения путей от корня (/img /..), сохранения кода от телепортовых ссылок и проч.
По сему, надо иметь в реале именно готовую страницу по реальному адресу, либо заставить телепорт считать её таковой.
M> 2. насколько я смог понять, телепорт используется в данном случае исключительно M> как "паук", задача которого оббежать весь сайт, при этом каждая страничка сайта
M> "знает", как сохранить себя, и вот тут возникают проблемы с параметрами... в этом
M> случае, мне также видится лучшим решением mod_rewrite (или бесплатный fatal.ru...)
Да, именно как «паук».
А что за «mod_rewrite». На сайт схожу, а про такое первый раз слышу…
M> хотя в принципе даже mod_rewrite не особо нужен. вариант: в при записи тела
M> страницы модифицировать и урл (который ты делаешь из request) и тело документа M> которое ты записываешь. например, у тебя есть документб расположеный по
M> следующему пути: /index.html?01 ты перед записью сам можешь модифицировать урл, M> например в такой: /01/index.html (match рулит), и кроме того, перед записью ты
M> должен найти все урлы, которые есть в записываемом теле документа (но не том, что M> отдается телепорту) и тоже заменить ссылки, которые тебе не нравятся, например
M> /index.html?02 на /02/index.html
Это всё более-менее понятно. Можно попробовать.
Но какое-то «неэлегантное» решение, согласитесь? ;)
Гораздо интереснее было бы сделать так, чтобы броузер получал строку вида /01/ или /01.html, а на самом деле отображал сгенерированную страницу /?01…
Для окончательного прояснения своих намерений объясню на пальцах.
Вот эта страница находится по адресу:
http://www.parser.ru/forum/?id=19516, мне нужно, чтобы браузер её видел как
http://www.parser.ru/forum/19516/ или ещё лучше
http://www.parser.ru/forum/19516.html.
M> 3. у вас есть неточность... при выполнении $string{...} в переменной $string
M> содержится вовсе не строка, а junction (код). да, в данном случае это большой роли не M> играет, и при вызове ^string.save[...] происходит выполнение этого кода, и результат M> (теперь уже строка) записывается в файл. однако мне кажется, что тут у вас есть
M> непонимание и вы как-нить наступите на грабли... попробуйте такой код:
M> $string{^math:random(1000)}
M> ^string.save[...]
M> $string
M> и сравните то, что ушло в броузер и то, что записалось в файл...
M> чтобы положить в переменную строку, нужно использовать квадратные скобки, а не M> фигурные.
Да, благодарю! Сохранение не работало из-за фигурных скобок.
Ваш пример с ^math:random непременно рассмотрю.
Однако, теперь появился ещё один вопрос, а можно ли сохранять не готовый junction строки, а её первоначальный вид без выполнения. А выполнение производить только при открытии сохранённой на диск страницы?
LuzhnikovskiyЧестно говоря не понял совершенно вашей первой фразы, уж простите.
L> А апач ведь локально уже стоит?
Да, стоит и работает.