Когда компилирую сайт в студии она запускает свой сервер
и путь получается что-то типа http://localhost:21957/MySite/Pages/ArtPage.aspx
проект(WebSite) в студии называется MySite.
проблема в том что вообще мне не нужно чтобы путь был таким, поскольку все
href'ы которые я пытаюсь указать с абсолютным путем (начиная с /)
он начинает искать вне MySite.
Как можно сделать чтобы при дебаге сайт запускался с адресом типа http://localhost:21957/Pages/ArtPage.aspx
Здравствуйте, timur-kar, Вы писали: TK>Как можно сделать чтобы при дебаге сайт запускался с адресом типа TK>http://localhost:21957/Pages/ArtPage.aspx
Решаешь не ту задачу. Формируй правильные ссылки — сайт, который требует деплоймента в корень, долго не проживет. Просто запомни, что абсолютные ссылки в свой сайт есть абсолютное зло.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
N_C>Ссылки относительно корня сайта описываются через "~" а не "/"
Николай, я уже в третьем форуме Вам объясняю:
в данном случае это не подходит, ссылку смотрит сам браузер.
Она уже выдана ему сервером. вопрос только в том как настроить сам сервер чтобы он не подставлял имя проекта в путь при генерации.
большая просьба — не отвечайте больше так :)
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, timur-kar, Вы писали: TK>>Как можно сделать чтобы при дебаге сайт запускался с адресом типа TK>>http://localhost:21957/Pages/ArtPage.aspx S>Решаешь не ту задачу. Формируй правильные ссылки — сайт, который требует деплоймента в корень, долго не проживет. Просто запомни, что абсолютные ссылки в свой сайт есть абсолютное зло.
Все таки немного голословное и чересчур категоричное утверждение. Я пишу движок на XML/XSLT, мне там НЕОБХОДИМО использовать абсолютные ссылки.
Да просто и удобнее в некоторых случаях. К тому-же я считаю что как-раз сайт с относительными ссылками на постоянные вещи долго не живет
(пока это показывает практика).
2All: Товарищи, очень Вас прошу — отвечайте на заданный вопрос, второй день бьюсь как настроить
встроенный сервер у ASP, в трех форумах спросил, и везде отвечают совсем другие вещи.
Наверно уже буду ставить себе IIS нормальный если никто не знает.
2Sinclair — очень прошу не обижаться, просто действительно, утверждение об абсолютных ссылках именно такое как я и сказал.
Здравствуйте, timur-kar, Вы писали:
TK>2All: Товарищи, очень Вас прошу — отвечайте на заданный вопрос, второй день бьюсь как настроить TK>встроенный сервер у ASP, в трех форумах спросил, и везде отвечают совсем другие вещи. TK>Наверно уже буду ставить себе IIS нормальный если никто не знает.
А ты не пробовал банально запустить этот девсервер с ключиком "/?" ? мой выдал:
---------------------------
ASP.NET Development Server
---------------------------
ASP.NET Development Server Usage:
WebDev.WebServer /port:<port number> /path:<physical path> [/vpath:<virtual path>]
port number:
[Optional] An unused port number between 1 and 65535.
The default is 80 (usable if you do not also have IIS listening on the same port).
physical path:
A valid directory name where the Web application is rooted.
virtual path:
[Optional] The virtual path or application root in the form of '/<app name>'. The default is simply '/'.
You can then access the Web application using a URL of the form: http://localhost:8080/MyApp
---------------------------
OK
---------------------------
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
TK>Николай, я уже в третьем форуме Вам объясняю: TK>в данном случае это не подходит, ссылку смотрит сам браузер.
Ну и что? Вопрос не в том, кто смотрит, а в том, как Вы ее формируете.
Я Вам предлагаю сразу на серверной стороне правильно формировать ссылки.
Тогда при запуске из корня, они будут одни, а при запуске из виртуальной
папки — будут другие...
TK>Она уже выдана ему сервером. вопрос только в том как настроить сам сервер чтобы он не подставлял имя проекта в путь при генерации.
Правильно формировать ссылки на стороне сервера...
TK>большая просьба — не отвечайте больше так
А как мне отвечать?
путь к корню сайта
От:
Аноним
Дата:
24.02.06 15:26
Оценка:
в студии 2003 — проект-"имя_проекта" свойства (пункт меню). и мой совет — делай все линки относительными, тобиш /path/to/site — если нет необходимости — не юзай. пиши site/index.aspx или ../index.aspx — для вышенаходящейся папки.
или же ваяй абсолютные линки, но типа http://site/page.ext, а уже site — опиши как переменную
Ссылки делать относительные нельзя. у меня ссылка на css в XSLT шаблоне, а он глобальный для всех файлов.
Проблема в том что в данном случае это (~) не работает. Возможно это будет работать в ссылках которые aspx генерит и т.д., но у меня выход HTML генерится с помощью XSLT и там если написать такую вещь <link rel='stylesheet' type='text/css' href='~Common/'> он не будет искать в начале сайта (как бы естественно, потому-что определяет где искать уже браузер).
Главная проблема в том что ASP.NET добавляет имя сайта в путь, и все идет через него. Если бы он этого не делал абсолютные пути на ремоте и локале совпадали бы без проблем. У меня 2005, там есть свойства WebSite'а, но не нашел настройки которая позволит не создавать сайт в отдельной папке.
Наверно надо отдельно IIS поставить
Sinclair — спасибо большое за исчерпывающий и точный ответ, и главное — по теме. А то 2ой день в форумах пытаюсь узнать, и никто нормально подсказать не может.
>Ну и что? Вопрос не в том, кто смотрит, а в том, как Вы ее формируете. >Я Вам предлагаю сразу на серверной стороне правильно формировать ссылки. >Тогда при запуске из корня, они будут одни, а при запуске из виртуальной
папки — будут другие...
Николай, я же объясняю. Есть места в которых я просто не могу правильно формировать ссылки. Это в первую очередь XSLT.
>А как мне отвечать?
В общем-то эту проблему я уже решил, действительно настроил правильно WebDev, так что вопрос на это ответ меня уже не сильно волнует. Но если Вы со мной не согласны — я с радостью готов рассмотреть Вашу точку зрения, только если можно более подробно.
TK>Главная проблема в том что ASP.NET добавляет имя сайта в путь, и все идет через него. Если бы он этого не делал абсолютные пути на ремоте и локале совпадали бы без проблем. У меня 2005, там есть свойства WebSite'а, но не нашел настройки которая позволит не создавать сайт в отдельной папке.
А при чем здесь ASP? Это ты сам включил использование встроенного сервера и теперь мучаешься.
Он-же сильно ограничен. Поставь IIS и не парься.
TK>Проблема в том что в данном случае это (~) не работает. Возможно это будет работать в ссылках которые aspx генерит и т.д., но у меня выход HTML генерится с помощью XSLT и там если написать такую вещь <link rel='stylesheet' type='text/css' href='~Common/'> он не будет искать в начале сайта (как бы естественно, потому-что определяет где искать уже браузер).
Поставить обработку XSLT через IIS... Тогда туда можно будет встроить ASP теги.
Я так со своими стилевыми файлами сделал. У меня пути соответственно подстраиваются,
в зависимости от местоположения проекта стилевые файлы изменяют свое внутреннее содержание.