2009-06-25 2 views
2

Извините, если это глупый вопрос ...Использует ли использование ./ в относительных связях с серверами Windows?

Я разработал приложение, которое создает абсолютные ссылки, добавляя URL-адреса с корнем сайта (любого сайта, на котором он размещен).

Например:

<link rel="stylesheet" href="<?=SITE_ROOT?>/assets/css/global.css"> 

Обратите внимание, что слэш приходит после корня сайта. Мне нужно преобразовать это сейчас, чтобы быть относительными ссылками, поэтому я попытался использовать точку в качестве значения SITE_ROOT.

Это создает это:

<link rel="stylesheet" href="./assets/css/global.css"> 

Насколько я могу судить, это работает отлично. Является ли это законной относительной ссылкой? Или есть причина, почему я не должен так поступать?

Примечание: Я не пытаюсь перейти в каталог, иначе я бы использовал ../ Я просто пытаюсь остаться в том же каталоге. Поскольку после SITE_ROOT есть косая черта, я не могу оставить его пустым или это станет относительной ссылкой root.

Обновление: Будет ли эта работа работать с IIS?

+0

./ или ../ ??? – rahul

+1

нет ../ только одна точка – Andrew

ответ

4

Эти ссылки работают на клиенте, а не на сервере, и насколько я знаю, он должен вести себя так же, как ссылки <a>. ./assets/css/global.css - это то же самое, что и assets/css/global.css, что означает, что файлы папок находятся под текущим сайтом. часть ./ является избыточной. Если у вас какая ссылка относительно сервера, вы должны запустить ее с косой чертой, то есть: /assets/css/global.css пойдет на stackoverflow.com/assets/css/global.css, даже если вы находитесь на подсайте.

0

его законный.

Просто проверьте, работает ли это с сервером IIS. ИМО это должно. Он работает с Apache.

jrh

+0

спасибо за воспитание iis. забыл, что мне нужно убедиться и в этом. – Andrew

+0

ничего себе. Я обожаю downvotes без оснований. – jrharshath

+0

Я не был, но может быть, потому что вопрос о ссылках - это просто вопрос HTML, независимо от сервера. Во всяком случае, он должен быть проверен кросс-браузером, а не межсерверным. – Kobi

2

Я думаю, что все в порядке.

+0

10/10 ответ снова будет возвращен –

1

Я думаю, что это клиентская сторона, поэтому она должна работать с ASP.Net.