Это хорошая практика ссылок? - PullRequest
1 голос
/ 10 февраля 2012

Это плохая практика в любом случае?

Структура папок (каждая html-страница имеет имя файла index.html, расположенное в подпапке):

root-folder (index.html)
  subpage1 (index.html)
  subpage2 (index.html)
  subpage3 (index.html)

Index.html в корневой папке будет иметь menulinks и вот так:

<a href="/">index</a>
<a href="/subpage1">subpage1</a>
<a href="/subpage2">subpage2</a>
<a href="/subpage3">subpage3</a>

Все остальные файлы index.html во вложенных папках / подстраницах будут иметь такие строки меню:

<a href="../">index</a>
<a href="../subpage1">subpage1</a>
<a href="../subpage2">subpage2</a>
<a href="../subpage3">subpage3</a>

Ссылки на css, javascript, favoicon также будут иметь эту структуру ссылок.

Я думаю, что самым чистым способом было бы иметь такие ссылки на каждой странице. Но с ним сложно работать, если вы хотите опробовать страницу в подпапке ...

<a href="/">index</a>
<a href="/subpage1">subpage1</a>
<a href="/subpage2">subpage2</a>
<a href="/subpage3">subpage3</a>

Ответы [ 2 ]

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

Проблема, с которой я сталкиваюсь при таком подходе, состоит в том, что все ваши файлы называются index.html, и в вашем редакторе трудно определить, какой именно.Также у вас есть проблема открытия / закрытия каждой папки для навигации и внесения изменений, чёрт.

Что вы можете сделать, чтобы получить нужные вам URL-адреса, это использовать что-то вроде mod_rewrite, чтобы превратить эти симпатичные URL внастоящие имена файлов.

Добавьте что-то подобное для своего файла .htaccess:

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

И на всех своих страницах вы сможете иметь ссылки, как в предыдущем примере:

<a href="/">index</a>
<a href="/subpage1">subpage1</a>
<a href="/subpage2">subpage2</a>
<a href="/subpage3">subpage3</a>
0 голосов
/ 10 февраля 2012

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

...