Каковы профи для использования URL-адресов без расширения?
Например, почему я должен меняться …
http://yoursite.com/mypage.html
http://yoursite.com/mypage.php
http://yoursite.com/mypage.aspx
чтобы …
http://yoursite.com/mypage
И возможно ли иметь URL-адрес без расширения для каждой страницы?
Обновить:
Являются ли URL-адреса, не поддерживающие расширение, более безопасными для безопасности сайта?
Причина отсутствия URL-адресов без расширения – это независимость от технологии. Если вы хотите изменить способ рендеринга вашего контента, вам не нужно менять URL-адрес.
W3: Простые URI не меняются
Расширение имени файла
Это очень распространенный вопрос. «cgi», даже «.html» – это то, что изменится. Вы не можете использовать HTML для этой страницы через 20 лет, но вы можете захотеть, чтобы сегодняшние ссылки на нее оставались действительными. Канонический способ создания ссылок на сайт W3C не использует расширение ….
Вывод
Удержание URI, чтобы они все еще были в течение 2, 20 или 200 или даже 2000 лет, явно не так просто, как кажется. Однако во всем Интернете веб-мастера принимают решения, которые сделают его действительно трудным для себя в будущем. Часто это происходит потому, что они используют инструменты, задача которых заключается в том, чтобы представить лучший сайт в данный момент, и никто не оценил, что произойдет с ссылками, когда ситуация изменится. Однако сообщение состоит в том, что многие и многие вещи могут измениться, и ваши URI могут и должны оставаться неизменными. Они могут только, если вы думаете о том, как вы их проектируете.
Это в основном сделано для эстетических целей.
Существует очень незначительное потенциальное преимущество в плане безопасности (пользователь не сразу знает, на каком языке написан внутренний код), но это незначительно.
Связанная запись в блоге .
Люди утверждают, что это улучшает SEO, даже если я лично не уверен в этом. В настоящее время многие клиенты запрашивают эти URL без расширения, так что это просто так, что его можно легко достичь.
Если вы используете IIS 7, вы можете переключить AppPool для запуска на Integrated Pipeline, тем самым устраняя необходимость иметь определенные расширения, сопоставленные с движком ASP.NET. Как только это будет сделано, вы можете указать Sitecore использовать URL-адреса без расширения в настройке web.config (при условии, что Sitecore 6):
<linkManager defaultProvider="sitecore"> <providers> <clear /> <add name="sitecore" type="Sitecore.Links.LinkProvider, Sitecore.Kernel" addAspxExtension="false" /* This one is set to true, per default */ alwaysIncludeServerUrl="false" encodeNames="true" languageEmbedding="asNeeded" languageLocation="filePath" shortenUrls="true" useDisplayName="false" /> </providers> </linkManager>
И ты настроен.
Имейте в виду, что на ранних версиях Sitecore 6 было несколько проблем при запуске Integrated Pipeline. Более подробную информацию можно найти здесь .
Как было сказано, одним из преимуществ является то, что вы не привязываете URLS к определенной технологии или языку. Кроме того, одним из преимуществ является то, что он позволяет вам управлять форматом вывода из приложения, если вы этого хотите.
Но это актуально только в рамках «маршрутизируемого» кода, в котором вы обычно привязываете URL-адреса к коду.
Например, в моей библиотеке кода вы можете указать разрешенный выходной формат URL-адреса
1) Настройка заголовка Accept в заголовке HTTP. 2) Присоединение допустимого расширения к URL-адресу
Таким образом, код для /my/simple/url.html, /my/simple/url.xml и /my/simple/url.json точно такой же. Менеджер вывода будет отвечать за вывод контента соответствующим образом.
Поэтому, если вы измените базовую технологию, вы все равно можете сохранить один и тот же шаблон URL в новой версии вашего приложения.
Оттуда, поскольку вы анализируете URL-адрес с собственным кодом для извлечения данных, он обычно дает вам возможность сделать URL-адрес, оптимизированный для SEO, то есть более значимые URL-адреса с точки зрения индексации поисковой системы. Затем вы можете определить более значимые шаблоны URL в структуре веб-приложения.
Потому что пользователю не нужно знать технологию за страницей. Пример: domain.com/Programs/Notepad
Единственное, что я могу придумать, – это облегчить для конечного пользователя запоминание / тип, кроме того, что я не вижу никакой причины, я также управлял этим нашим администратором, и он говорит, что некоторые говорят о SEO, но если он должен был использовать он, он будет использовать его для уровня безопасности.