Введение Для перезаписи URL

Многие компании Web тратить часы и часы мучительного за лучшие доменные имена для своих клиентов.Они пытаются найти доменное имя, которое уместно и целесообразно, звучит профессиональным, но отличается, это легко писать и помнить и читать по телефону, хорошо смотрится на визитках и доступна в качестве штрих-com.

Или же они тратят тысячи долларов, чтобы купить тот, который они действительно хотят, которое только что произошло, чтобы быть зарегистрировано дальновидными и трудно найти скваттерных в 1998.

Они проходят через все, что неприятности с доменным именем, но пренебрегать остальными URL, элемент after доменного имени.Это тоже должно быть соответствующим, необходимо, профессиональных, запоминающимся, легко писать и читаемым.И по тем же причинам: для привлечения клиентов и повышения в поиске ranking.

К счастью, есть метод, называемый URL переписывания, которые могут превратить неприглядную URL-адресов в хорошие из них — с намного меньшим количеством муки и расходов, чем выбор хорошего доменного имени.Это позволит вам заполнить ваш URL-адреса с детьми, читаем слова, не затрагивая основную структуру вашего pages.

Эта статья охватывает следующее:

  1. Что такое перезаписи URL
  2. Как можно помочь URL переписывания ваш рейтинг в поисковых
  3. Примеры URL переписывания, в том числе регулярных выражений, флаги и условные;
  4. URL переписывания в дикой природе, например, на Wikipedia, WordPress и торговых сайтов;
  5. Создание дружественных URL-адресов;
  6. Изменение страниц имен и адресов;
  7. Перечень и troubleshooting.

Что такое перезаписи URL

Если бы вы писали письмо в ваш банк, вы, вероятно, открыть текстовый редактор и создайте файл с именем что-то вроде lettertobank.doc.Файл может сидеть в Documents каталог с полным путем, как C:\Windows\users\julie\Documents\lettertobank.doc.Один путь к файлу = один document.

Точно так же, если бы вы создавали банковские веб-сайта, вы можете создать страницу с именем page1.html, загрузить ее, а затем направьте свой браузер до http://www.mybanksite.com/page1.html.Один URL = один ресурс.В этом случае ресурс является физическое веб-странице, но это может быть страница или продукта взяты из CMS.

URL переписывания изменения все такое.Это позволяет полностью отделить URL ресурса.С URL переписывания, вы могли бы http://www.mybanksite.com/aboutus.html с пользователем …/page1.html или …/about-us/ или …/about-this-website-and-me/ или …/youll-never-find-out-about-me-hahaha-Xy2834/.Или все это.Это немного похоже на ярлыки или символические ссылки на ваш жесткий диск.Один URL = один способ узнать resource.

С переписывания URL, URL и ресурсов, что приводит к может быть полностью независимыми друг от друга.На практике они, как правило, не полностью независимы: URL обычно содержит код или номер или имя, которое позволяет CMS для поиска ресурсов.Но в теории, это то, что URL переписывания обеспечивает: полный separation.

? Каким перезаписи URL Помощь

Можете ли вы догадаться, что эта веб-страница продает

http://www.diy.com/diy/jsp/bq/nav.jsp?action=detail&fh_secondid=11577676

B& Qходил на все хлопоты и расходы приобретения diy.com и осуществления фондовой контролируемой сайт электронной коммерции, но оставила свой URL, неразборчивый.Если вы догадались, “коричневый желоба”, вы можете играть учетом lottery.

Даже если вы будете искать непосредственно для этого “Miniflow желоба коричневый” на Google Великобритании, B& Q странице автора появляется только седьмое место в результатах поиска, ниже гораздо меньше компаний, таких как здания поставщика с одним выходом в Stirlingshire.B& Q имеет 300 филиалов и поэтому, вероятно, гораздо больше в бюджет, размер и экспозиции, так почему он не делает, а для этого поиска?Может быть, потому, что других результатов поиска есть URL-адресов, как http://www.prof…co.uk/products/brown-miniflo-gutter-148/, то есть URL сам по себе содержит слов в поисковой term.

screenshot
Почти все эти результаты на Google есть термин для поиска в свой URL (выделены зеленым цветом).Одна в нижней части делает not.

Глядя на URL с B& Q, вы (возможно, справедливо) считать, что файл с именем nav.jsp в каталоге /diy/jsp/bq/ используется для отображения продуктов, когда с учетом их идентификационный номер, 11577676 в этом случае.Это ресурсов тесно связана с этим URL.

Таким образом, как бы B& Q идти о превращении этого в нечто более узнаваемым, как http://www.diy.com/products/miniflow-gutter-brown/11577676, без перестройки всей ее веб-сайт?Ответ URL rewriting.

Еще один способ посмотреть на URL переписывания, как тонкий слой, который находится в верхней части веб-сайта, переводя человека и поисковых систем дружественных URL-адресов в реальные адреса.Сделать это легко, потому что она требует едва ли изменения в базовую структуру сайта — нет перемещения файлов или переименования things.

URL переписывания в основном говорит веб-сервер,/products/miniflow-gutter-brown/11577676 должна показать веб-страницу по адресу: /diy/jsp/bq/nav.jsp?action=detail&fh_secondid=11577676,без клиентов или поисковой зная о it.

Много факторов (или «сигналы»), конечно, определить поисковый рейтинг за тот или иной термин, более 200 из них соответствии с Google.Но дружественные и читаемый URL-адреса являются неизменно признается одним из самых important этих факторов.Они также помогают людям быстро выяснить, какие страницы about.

В следующем разделе описывается, как это done.

Как переписать URLs

Можете ли вы осуществлять URL переписать на сайт зависит от веб-сервера.Apache обычно поставляется с модулем URL переписывания, mod_rewrite, уже установлены.Настройка очень часто и является основой для всех примеров в этой статье. ISAPI Rewrite есть подобный модуль для Windows IIS, но требует оплаты (около 100 долларов США) и installation.

Простейшие Case

Простейшем случае URL переписывания заключается в переименовании одной статической веб-странице, и этогораздо легче, чем B& Q пример выше.Чтобы использовать URL в Apache переписать функцию, вам необходимо создать или отредактировать . Htaccess. Файл в корневом вашего сайта (или, реже, в подкаталоге)

Например, если у Вас есть веб-страница о лошадях с именем Xu8JuefAtua.htm, вы можете добавить эти строки в htaccess:.

RewriteEngine On
RewriteRule   horses.htm   Xu8JuefAtua.htm

Теперь, если вы посещаете http://www.mywebsite.com/horses.htm, вы на самом деле будет показана веб-страница Xu8JuefAtua.htm.Кроме того, ваш браузер останется на уровне horses.htm, так что посетители и поисковые системы никогда не будет знать, что вы изначально дал странице такие загадочные name.

Введение Регулярные Expressions

В URL переписывания, нужно только соответствовать path из URL, не включая имя домена или первые черты.Выше правила по существу говорит Apache, что если путь содержит horses.htm, а затем показать веб-страницу Xu8JuefAtua.htm.Это немного проблематично, потому что вы можете также посетить http://www.mywebsite.com/reallyfasthorses.html, и она будет работать.Итак, что нам действительно нужно, это:

RewriteEngine On
RewriteRule   ^horses.htm$   Xu8JuefAtua.htm

^horses.htm$ это не просто строка поиска, но регулярные expression, в которых специальные символы — такие, как ^ . + * ? ^ ( ) [ ] { } и $ — есть дополнительное значение.^ совпадает с началом пути URL, и $ соответствует концу.Это говорит о том, что путь должен начать и end с horses.htm.Так, только horses.htm будет работать, а не reallyfasthorses.htm или horses.html.Это важно для поисковых систем, как Google, которая может наказывать, что он рассматривает как дубликата content — идентичные страницы, которые могут быть достигнуты через несколько URLs.

Без файла Endings

Вы можете сделать это еще лучше, канав файл, заканчивающийся в целом, так что вы можете посетить либо http://www.mywebsite.com/horses или http://www.mywebsite.com/horses/:

RewriteEngine On
RewriteRule   ^horses/?$   Xu8JuefAtua.html  [NC]

? означает, что предыдущий символ не является обязательным.Таким образом, в этом случае URL будет работать с или без слэша в конце.Это не будет считаться дублировать URL-адреса с помощью поисковой системы, но поможет избежать путаницы, если люди (или ссылку шашки) случайно добавили черты.Материал в скобках в конце правило дает Apache некоторые дополнительные указатели.[NC] есть флаг, который означает, что правило не чувствительна к регистру, поэтому http://www.mywebsite.com/HoRsEs бы также work.

Википедия Example

Теперь мы можем посмотреть на реальный пример.Wikipedia кажется, что для переписывания URL, передавая заголовок страницы в файле PHP.Например …

http://en.wikipedia.org/wiki/Barack_obama

… Переписывается в:

http://en.wikipedia.org/w/index.php?title=Barack_obama

Это вполне может быть реализован с htaccess файл, например так:.

RewriteEngine On
#Look for the word "wiki" followed by a slash, and then the article title
RewriteRule   ^wiki/(.+)$   w/index.php?title=$1   [L]

Предыдущие правила были /?, что означает ноль или one косую черту.Если бы она сказала /+, это означало бы, одной или more слэш, так что даже http://www.mywebsite.com/horses//// работало бы.В этом правиле, точка (.) соответствует любой character, так .+ соответствует одномуили более любых символов — то есть, по существу, ничего.И скобках — ( ) — спросите Apache помнить, что .+ есть.Правило выше, то, говорит Apache, чтобы искать wiki/ следуют один или более любых символов и помнить, что это такое.Это запоминается, а затем переписать в виде $1.Таким образом, при перезаписи закончен, wiki/Barack_obama становится w/index.php?title=Barack_obama

Таким образом, на странице w/index.php называется, проходя Barack_obama качестве параметра.w/index.php, вероятно, PHP страницу, которая работает поиск в базе данных — например, SELECT * FROM articles WHERE title='Barack obama' — а затем выводит HTML.

screenshot
Вы также можете просмотреть Википедии напрямую, без URL rewriting.

Комментарии и Flags

Приведенный выше пример также представила комментарии.Все, что после # игнорируется Apache, так что это хорошая идея, чтобы объяснить свои правила перезаписи, чтобы будущие поколения могли их понять.[L] флаг означает, что если это правило матчей, Apache может остановить сейчас.В противном случае, Apache будет продолжать применять последующие правила, которое является мощным средством, но ненужных для всех, кроме самых сложных правил sets.

Реализация B& Q Example

Рекомендации для B& Q выше, могут быть реализованы с htaccess файл, например так:.

RewriteEngine On
#Look for the word "products" followed by slash, product title, slash, id number
RewriteRule  ^products/.*/([0-9]+)$   diy/jsp/bq/nav.jsp?action=detail&fh_secondid=$1 [NC,L]

Здесь .* матчах ноль или более любых character, так что ничего или ничего.И [0-9] совпадает с одним численным цифры, так [0-9]+ __ матчей 20 | одного или нескольких numbers.

Следующий раздел описывает несколько более сложные условные примеры.Вы также можете прочитать Apache переписывания guide для гораздо больше информации обо всем, что URL переписывания должен offer.

Условное Rewriting

URL переписывания может также включать условия и использовать переменные среды.Эти две особенности делают для простой способ перенаправить запросы с одной псевдоним домена в другой.Это особенно полезно, если сайт меняет свой домен от mywebsite.co.uk до mywebsite.com для example.

Домен Forwarding

Большинство регистраторов доменов позволяет перенаправление с этого домена, который перенаправляет все запросы из одного домена в другой, но которые могут направлять запросы на www.mywebsite.co.uk/horses на главную страницу на www.mywebsite.com, а не www.mywebsite.com/horses.Вы можете добиться этого с URL переписывания вместо:

RewriteEngine On
RewriteCond   %{HTTP_HOST}   !^www.mywebsite.com$         [NC]
RewriteRule   (.*)           http://www.mywebsite.com/$1  [L,R=301]

Вторая строка в этом примере RewriteCond, а не RewriteRule.Он используется для сравнения переменной среды Apache слева (такие как имя хоста, в данном случае) с помощью регулярного выражения справа.Только при выполнении этого условия будет править на следующей строке будет considered.

В этом случае %{HTTP_HOST} представляет www.mywebsite.co.uk, хоста (то есть домен), что браузер пытается посетить.! означает “нет”. Это говорит Apache, если хозяин не начинаются и заканчиваются www.mywebsite.com, то помню ипереписать ноль или более любых символов до www.mywebsite.com/$1.Это превращает www.mywebsite.co.uk/anything-at-all до www.mywebsite.com/anything-at-all.И он будет работать для всех остальных псевдонимов, а также, как www.mywebsite.biz/anything-at-all и mywebsite.com/anything-at-all.

Флаг [R=301] является очень важным.Это говорит Apache, чтобы сделать 301 (т.е. постоянная) перенаправление.Apache пошлет новых обратно URL в браузере или поисковых системах, и в браузере или в поисковой системе придется просить его снова.В отличие от всех приведенных выше примерах, новый URL появится в адресной строке браузера.И поисковые системы будут принять к сведению новые URL и обновлять свои базы данных.[R] само по себе так же, как [R=302] и означает временное redirect.

Существование файла и WordPress

Smashing Magazine работает на популярных блогах WordPress программного обеспечения.». Пули” WordPress позволяет автору выбирать свой собственный URL, называется Затем, он автоматически добавляет дату, например, http://coding.smashingmagazine.com/2011/09/05/getting-started-with-the-paypal-api/.В вашей предварительной перезаписи URL дней, вы могли бы предположить, что веб-сервер Smashing Magazine был на самом деле обслуживает до файла, расположенного на …/2011/09/05/getting-started-with-the-paypal-api/index.html.В самом деле, WordPress использует URL переписывания extens …

Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров

Comments are closed.