Относительные ссылки с URL-адресами без расширений - PullRequest
1 голос
/ 11 декабря 2010

У меня есть приложение ASP.NET 4.0, которое реализует маршрутизацию URL. Это дает мне URL-адреса страниц без расширения (например, / Articles / {title})

Некоторые из этих страниц содержат относительные ссылки. Когда я тестирую сайт из Visual Studio, относительные ссылки указывают на / Articles / {title} / mylink. Однако при развертывании моего сайта в учетной записи общего хостинга та же относительная ссылка указывает на /Articles/mylink.

Вы можете увидеть проблему на http://blackbeltcoder.com/Articles/asp/creating-website-thumbnails-in-asp-net. Ссылка на изображение вверху не работает. Эта страница работала нормально при тестировании из Visual Studio. {title} должен был быть каталогом. Но после развертывания предполагается, что {title} будет именем страницы.

Если я добавлю «/» к указанному выше URL-адресу, он будет работать как положено. Но как я могу убедиться, что это всегда работает?

Может кто-нибудь помочь мне понять это?

1 Ответ

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

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

Я собираюсь описать, как этот сайт ведет себя на хостинге.аккаунт как "нормальный".Это так же, как мой другой сайт работает на обеих учетных записях хостинга И при запуске на моем рабочем столе.(Хотя другой сайт не использует относительные ссылки таким образом.)

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

И причина этого в том, что я создал физические каталоги с одинаковыми именами! Если яудаляя физический каталог, он обрабатывает URL как ссылку на файл.

Поэтому главная проблема для меня заключается в том, что я разработал сайт во время тестирования в этом странном случае.Следовательно, решение может быть либо A) убедиться, что «/» добавлено ко всем этим ссылкам, чтобы они считались каталогами, либо B) изменить структуру каталогов, которую я разработал.

...