0 / 2 / 3
Регистрация: 27.03.2012
|
|
1 | |
Проблема - после рестарта IIS изменяется Server.Mappath26.03.2007, 20:34. Показов 1534. Ответов 4
Метки нет (Все метки)
Кто-нибудь видел такое чудо? Server.Mappath используется в global.asa для создания строки коннекшена к БД. После рестарта IIS значение этой переменной изменяется, причем довольно интересно - если обычно оно выглядит
C:васяdatabase то после рестарта начинает выглядеть, как C:васяhtmldatabase 'C:васяhtml' - это корневой каталог сайта, проблема решается переписыванием global.asa, после чего все встает на свои места...
0
|
26.03.2007, 20:34 | |
Ответы с готовыми решениями:
4
Проблема с IIS в Win2003 и Win2000 server Server.MapPath - ошибка 'Path not found' Server.MapPath возвращает пустую ссылку Как использовать Server.MapPath в операторах #include? |
Sergik
|
|
27.03.2007, 13:48 | 2 |
Насколько я понял сообщение корневым каталогом сайта является именно c:васяhtml, так что после рестарта выводится как раз правильное значение Server.MapPath('/'), а почему оно перед рестартом неправильно выводилось - не знаю, первый раз такое слышу - может IIS делался рестарт именно после изменения домашнего каталога сайта? ;-) Еще посоветую хранить БД не в каталоге Web сайта, или даже на другом компьютере в целях увеличения уровня безопасности.
|
0 / 2 / 3
Регистрация: 27.03.2012
|
|
27.03.2007, 13:55 | 3 |
Да, c:васяhtml - корневой сайта, но дело в том, что БД в целях безопасности хранится в каталоге не доступном из веба, а именно в с:васяdatabase, т.е. в global.asa есть запись
server.mappath('../database/петя.mdb')
0
|
Sergik
|
|
27.03.2007, 15:09 | 4 |
В описании метода MapPath написано, что нельзя использовать в параметрах знаки корневого и родительского каталога (т.е. '.' и '..'), хотя на самом деле МОЖНО указывать в начале эти символы, причем символ '.' указывает не на корневой каталог диска, а на корневой каталог сайта. Но так как в хелпе написано, что все-таки нельзя, может из-за этого и глюки.
А еще там написано такое правило: Если параметр начинается со слеша (' ' или '/'), то метод считает, что параметр указывает на полный виртуальный путь от корневого каталога сайта. Если же параметр не начинается со слеша, то путь воспринимается как относительный, начиная с текущей папки. То есть по хелпу (имеется ввиду встроенный в IIS хелп) вообще нельзя этим методом указать путь, не лежащий в пределах каталогов сайта. Такие вот пироги |
0 / 2 / 3
Регистрация: 27.03.2012
|
|
27.03.2007, 15:12 | 5 |
Sergik, спасибо за исчерпывающий ответ, впредь будем иметь это ввиду...
0
|
27.03.2007, 15:12 | |
27.03.2007, 15:12 | |
Помогаю со студенческими работами здесь
5
Server.MapPath не берет файлы, содержащие запятую в названии Проблема с адресами после установки приложения на IIS Проблема с запуском ASP после перестановки IIS 5.1(ошибка 500) Проблема с запуском ASP после перестановки IIS 5.1(ошибка 500) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |