asp.net mvc url запуска якоря с "/" не так? - PullRequest
0 голосов
/ 11 января 2011

в моем веб-проекте Asp.Net MVC я всегда использую URL ссылок как

<a href="/xxxx"></a>

, что делает мои URL работающими хорошо.вывод будет как ниже

<a href="www.mydomain.com/xxxx"></a> если на хосте

<a href="localhost/xxxx"></a> если в разработке

Я использую набор инструментов поисковой оптимизации (http://www.iis.net/download/seotoolkit) для поискаошибки на моей веб-странице.

В результатах я вижу "неработающие гиперссылки". Когда я посмотрел на ссылку с результатами, которая начинается с "/ xxx", это не похоже на "domain.com/xxx", смысл seo toolkitкак "domain.com/currentpage/xxx".

В чем здесь проблема?

Я делаю неправильно, когда пишу ссылки, начинающиеся с" / "? Это неправильно?

Ответы [ 2 ]

3 голосов
/ 11 января 2011

Вместо жесткого кодирования URL я бы порекомендовал вам использовать HTML-помощники:

<%= Html.ActionLink("link text", "someAction", "someController") %>

Это будет генерировать правильные относительные URL-адреса независимо от того, работаете ли вы на сервере разработки или на производственном сервере в виртуальных каталогах и т. Д. ...

1 голос
/ 11 января 2011

Я предлагаю вам пометить свои якоря как runat = "server" и изменить / с помощью ~ / в своих URL.

Пусть ASP.NET разрешит ваши относительные пути к абсолютным.

"/" указывает, что ваш путь начинается с корня вашего веб-сайта. Это хорошо в большинстве случаев, но что произойдет, если ваше приложение будет вложено в какой-то другой виртуальный каталог? Ваш URL в этом случае будет недействительным.

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

Помогает ли это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...