У меня довольно много вопросов, о которых я хотел бы услышать ваше мнение, поэтому я надеюсь, что мне удастся объяснить это достаточно хорошо. Следует также отметить, что я новичок, обладающий только знаниями HTML и CSS, поэтому, хотя я почти уверен, что есть простое решение с использованием мощного PHP, оно мне не поможет .
Допустим, у меня есть личный блог по этому адресу, example.com/blog.html
и есть ссылки на несколько блогов example.com/blog/math.html
и example.com/blog/coding.html
т. Д. Итак, моя корневая папка содержит blog.html
и blog
папку, сама blog
папка содержит файлы math.html
и coding.html
.
Прежде всего, я узнал (из Инструментов Google для веб-мастеров ), что для SEO и в эстетических целях хорошо объединиться example.com.com
и example.com/index.html
добавить _rel="canonical"_
атрибут в источник index.html
. Используя несколько других приемов (например, ссылки на ../
и ./
), я избавился от уродливого index.html
появления в моих веб-адресах.
И теперь мне интересно, можно ли использовать этот трюк не только для корневой папки, но и для любой папки? Я имею в виду, я бы переместил мой blog.html
в blog
папку, переименовал его в index.html
и добавил, rel="canonical"
чтобы объединить example.com/blog/index.html
с example.com/blog/
.
Этот трюк изменит адрес моего блога с example.com/blog.html
на example.com/blog/
.
Не законченный! У меня также возникают проблемы с индексацией моих папок роботом Google. Поэтому, когда я site:example.com/
печатаю в поиске Google, example.com/blog/
среди других результатов появляется ссылка на мою папку с необработанными файлами, значками и т. Д. Я предполагаю, что есть и другие способы, как это исправить, но ИМХО упомянутое выше изменение тоже помогло бы - index.html в папке блога не позволил бы пользователю просматривать фактическое необработанное содержимое этой папки. Правильная ссылка example.com/blog/
в поиске Google и (я надеюсь, что) _rel="canonical"_
сделают вторую, нежелательную ссылку example.com/blog/index.html
не появляться в результатах поиска.
Итак, мои вопросы:
- Полезно ли иметь
index.html
файл в каждой подпапке или он должен быть только в корневой папке? - Есть ли какие-либо недостатки или проблемы, которые могут возникнуть при использовании второго метода « индексировать в каждой папке »?
- Какой из двух способов структурирования веб - сайт , описанных выше , были бы вы предпочли?
источник
Ответы:
Причина , почему мы используем
index.html
илиhome.html
или derivitives их, потому , что веб - сервер программное обеспечение само по себе выглядит на самом деле для этого и служит ему. Например:Это НЕВЕРНО: (www-каталог)
Фактически это будет служить страницей со списком папок и файлов. (Не то, что вы хотите). Вы можете попробовать эту структуру, но также сделать файл index.html рядом с blog.html. Обратите внимание, что он не будет обслуживать blog.html, если вы не укажете
http://www.site.com/blog.html
) Вот почемуhttp://www.google.com/
показывает страницу без необходимости указыватьhttp://www.google.com/index.html
Это ДЕЙСТВИТЕЛЬНО:
Это будет служить вашим
blog.html
файлом в качестве главной страницы. (Не перечислять все папки / файлы в этом каталоге)Программное обеспечение веб-сервера имеет (в конфигурации) специальный список имен файлов, которые будут использоваться в качестве домашней страницы или главной страницы папки. (По моему опыту,
index.html
имеет приоритет над index.php, поэтому, если у вас естьindex.html
иindex.php
в папке, index.html - это то, что увидит публика). Конечно, все это можно изменить, и вы даже можете установить,blog.html
чтобы оно распознавалось как "индекс".Обращаясь к вашему комментарию:
Это можно сделать, перейдя
blog.html
полностью/blog/
и переименовав его в index.html.Ваша новая структура будет:
Это должно правильно
http://www.site.com/blog/
показывать содержимое вашего blog.html, который мы переименовали, чтобыindex.html
программа могла установить его в качестве индекса вашего каталога/blog/
Вы также можете свободно помещать и помещать
index.html
файлы в корневой каталог своего сайта,http://www.site.com/(index.html)
чтобы иметь ссылки/blog/
и все остальное, что вы пожелаете.Конкретно отвечая на ваши вопросы в коротких высказываниях:
Полезно ли иметь файл index.html в каждой подпапке или он должен находиться только в корневой папке?
Да, потому что это мешает людям видеть, какие файлы находятся в ваших каталогах. Вы можете предотвратить это с помощью
.htaccess
файла, содержащегоOptions -Indexes
Есть ли какие-либо недостатки или проблемы, которые могут возникнуть при использовании второго метода «индексировать в каждой папке»?
Ни о чем я не могу думать.
Какой из двух описанных выше способов структурирования веб-сайта вы бы предпочли?
У меня обычно есть
index.html
илиindex.php
файл в корне, подпапки, основанные на категории (например,forum
илиnews
илиlogin
и т. Д.), И затем какой-то индекс внутри каждого из них.источник
Технический термин для index.html - индекс каталога для Apache и документ по умолчанию для IIS. Другая интересная директива Apache - это директива Options . Как указано в документации, когда
Options Indexes
установлено:Когда я настраиваю веб-сайт, который не использует систему управления контентом, я предпочитаю иметь одну страницу контента на каталог. Эта страница является индексом каталога (документ по умолчанию) для каталога. Все ссылки на сайте только ссылаются на каталог и заканчиваются косой чертой (например,
http://example.com/blog/
вместоhttp://example.com/blog/index.html
или./blog/
вместо./blog/index.html
). Конечная косая черта важна, чтобы избежать того, что обычно называют любезным перенаправлением . (Если завершающий слеш опущен, все по-прежнему разрешается правильно, но количество HTTP-запросов и, следовательно, пропускная способность увеличиваются.)Моя основная мотивация вышеуказанной методологии двояка. Во-первых, это облегчает переключение технологий, используемых на сайте. Например, я могу изменить страницу с index.html на index.php, не нарушая никаких ссылок или списков поисковых систем. Во-вторых, расширение файла страницы содержимого - «шум»; удаление расширения файла из URL приводит к более коротким и, надеюсь, более читаемым URL.
Что касается других типов файлов:
На сервере Apache я отключаю
Options Indexes
для вышеупомянутых каталогов. На серверах Apache и IIS я не указываю индекс каталога (документ по умолчанию) для вышеупомянутых каталогов. Таким образом, запрос любого из каталогов приводит к ошибке HTTP 403.источник