Классический ASP: проблемы с URL при дублировании приложения - PullRequest
1 голос
/ 06 декабря 2010

У меня есть старое приложение Classic ASP, которое я хочу дублировать параллельно, то есть я хочу настроить другую копию (общение с другой базой данных) наряду с оригиналом.

Итак, где у меня // MyServer / MyApp1 /, у меня тоже скоро будет // MyServer / MyApp2 / ... пока все хорошо.

За исключением того, что многие URL-адреса в приложении являются абсолютными (например, файлы JS и CSS), например, <script type="text/javascript" src="/MyApp1/menu.js"></script>.

Я мог бы найти ссылки на /MyApp1/ и заменить его на /MyApp2/, но это раздражающая задача, которую мне придется повторять при обновлении основного приложения и в случае необходимости создания других копий - вероятность пусть и временный.

Я мог бы изменить эти URL-адреса на родительские пути, но это означает, что мне нужно ссылаться на каждый ресурс по-разному, в зависимости от того, где в структуре папок приложения я нахожусь. Опять же, это будет работать, но я не люблю использовать родительские пути по ряду причин.

Учитывая, что в Classic ASP нет функции тильды (~) (для ссылки на корень приложения), есть ли альтернативы, которые я могу рассмотреть?

Ответы [ 2 ]

1 голос
/ 06 декабря 2010

@ CJM: У меня обычно есть db.asp, который содержит function s и sub s, которые обрабатывают открытие / закрытие соединений с базой данных в качестве основного включения практически на всех моих страницах.В этом db.asp я бы тогда определил путь appurl или absurl, который в вашем случае может иметь /MyApp1, а затем вы можете использовать <script type="text/javascript" src="<%=appurl %>/menu.js"></script> в своих скриптах.

Первыйкогда вы это сделаете, это будет чем-то вроде миссии поиска / замены, но как только это будет сделано, последующим «дублированным» проектам просто потребуется обновить одну переменную.

0 голосов
/ 07 декабря 2010

В Classic ASP вы можете использовать Server.MapPath("/") для получения корневого каталога или Server.MapPath(".") для получения текущего каталога.

...