Ссылка практика без "/" в начале href - PullRequest
0 голосов
/ 10 февраля 2012

Я использую этот код перезаписи, чтобы иметь возможность ссылаться вот так http://page.com/subpage, но все еще работаю с HTML-файлами, например http://page.com/subpage.html (все HTML-файлы находятся в корневой папке).

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.html [NC,L]

Будет ли хорошей практикой иметь подобное меню (без "/" на подстраницах)?

<a href="/">Home</a>
<a href="subpage-1">Subpage 1</a>
<a href="subpage-2">Subpage 2</a>
<a href="subpage-3">Subpage 3</a>

Если все в порядке, чтобы связать без "/", каков наилучший способ связать "домашнюю" ссылку?

Это то, что я планирую использовать в качестве меню (пожалуйста, укажите причины, почему нет, если у вас нет):

<a href="/">Home</a>
<a href="subpage-1">Subpage 1</a>
<a href="subpage-2">Subpage 2</a>
<a href="subpage-3">Subpage 3</a>

Ответы [ 3 ]

1 голос
/ 10 февраля 2012

Не рекомендуется использовать subpage-1 URL именно из-за перенаправлений, которые вы могли бы реализовать позже. Если вы настаиваете на работе в папке, вы можете использовать ./subpage-1 и ./ для домашней ссылки.

0 голосов
/ 11 февраля 2012

Я всегда держу / перед любыми hrefs, как это.


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

Скажем, у меня есть сайт с этими двумя страницами:

/home/ryan/example.com/index.html
/home/ryan/example.com/public.html

И содержание HTML каждой из них было одинаковым:

index.html & public.html

<a href="/">Home</a>
<a href="/public">Public</a>

Теперь, если я хочу добавить новый файл, /home/ryan/example.com/special/secret.html я могу повторно-используйте этот существующий код и даже добавьте новую ссылку, в то же время заставляя работать тот же код для всех 3 страниц:

все страницы HTML

<a href="/">Home</a>
<a href="/public">Public</a>
<a href="/special/surprise">Surprise</a>

Рассмотримобслуживание в будущем и думать о своем будущем ленивом я.Возможность повторного использования кода - вот и весь смысл;Вы не хотите добавлять / редактировать / удалять слегка отличающиеся ссылки из 15 мест, даже 2 места слишком много!

0 голосов
/ 10 февраля 2012

Я бы вообще сделал все абсолютным в такой ситуации (при условии, что вы разумно), просто потому, что вероятность путаницы с вашей стороны далеко слишком высока. Если вы сделаете вещи относительными, вы получите одну ошибку, гарантированно.

Если ваш проект содержит более 30 страниц, я бы определенно подумал об этом, и если вы используете какой-либо язык сценариев (PHP, ASP и т. Д.), То вам следует использовать сделай свою работу проще.

...