Server.Execute с фиксированным путем - PullRequest
1 голос
/ 08 апреля 2020

Я пытаюсь реализовать server.execute() через включение из библиотеки виртуальных функций (<!-- #include virtual="lib/functions.asp"-->), которое я могу вызвать из любой подпапки в системе. Я пытаюсь реализовать новую функцию, которая должна существовать на всех страницах нашей системы, и было бы практически невозможно ввести go и добавить ее вручную на каждую страницу. И мне нужно, чтобы он был реализован таким образом, чтобы он не мешал коду на любой странице, поэтому я делаю это как server.execute() в виртуальной библиотеке, которая, как я знаю, уже существует повсюду в системе.

Например:

'location of routine.asp = https://example.com/admin/routine/routine.asp

Server.Execute("routine/routine.asp")
'Will work if I add the virtual lib from an ASP-page in the admin subfolder, but not if I call it from another subfolder

Server.Execute("https://example.com/admin/routine/routine.asp")
'Does not work, because server.execute can't handle that kind of fixed path

В документации четко указано, что двоеточия и двойная косая черта недопустимы, но я не могу понять, как я могу убедиться, что выполнение файла происходит независимо от того, откуда в системе он вызывается.

Вопрос: Как можно сделать так, чтобы путь server.execute(path) обрабатывал фиксированный путь, или динамически изменять путь, чтобы сделать уверен, что всегда могу правильно указать целевой файл?

1 Ответ

1 голос
/ 08 апреля 2020

Если вы хотите использовать абсолютный путь, убедитесь, что вы используете абсолютный путь (полный путь от root).

Думаю, вам просто нужно явно указать абсолютный путь;

Server.Execute("/admin/routine/routine.asp")
...