URL Rewrite Smack-Down: .htaccess против обработчика 404

SEO SMM интернет маркетинг

[ad_1]

Во-первых, напомню: как доведение URL-адресов, так и перенаправление 301 можно выполнить в.htaccess файлы или в обработчике 404. Если вы не совсем понимаете, как перезапись URL-адресов и 301-е работают в целом, этот пост определенно поможет. И если вы не читали пост на прошлой неделе о раздвоении личности RewriteRule, вероятно, это полезный справочный материал для понимания сегодняшнего поста.

Робот Googlebot мечтает о вкусных ключевых словах в URL-адресах

«Усовершенствование URL-адресов» — это процесс отображения читаемых URL-адресов с большим количеством ключевых слов для конечного пользователя (и робота Googlebot) при фактическом использовании уродливых, часто параметризованных URL-адресов за кулисами для генерации контента для страницы.

Вот ты делаешь НЕТ выполните перенаправление 301.

(Неясно, что такое перенаправление, 301 или 302 и т. Д.? Здесь, в Центре знаний SEOmoz, вас ждет помощь.)

301-е выполняются, когда вы действительно переместили страницу, и вы действительно хотите, чтобы Googlebot знал, где находится новая страница.

Вы признаете роботу Googlebot, что его больше нет в старом месте.

Вы также просите Googlebot предоставить новой странице все ресурсы ссылок, заработанные старой страницей в прошлом.

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

301-й пропускают ссылочный вес и признают, что это не то, о чем думал робот Googlebot.

Если вам нравится спусковой крючок, вы можете прийти к выводу, что RewriteRule является предпочтительным оружием как для выравнивания URL-адресов, так и для переадресации 301. Конечно, вы МОЖЕТЕ использовать RewriteRule для этих задач, и, конечно же, синтаксис регулярных выражений является мощным способом выполнения некоторых довольно сложных преобразований URL-адресов. И действительно, если вы собираетесь использовать RewriteRule, вероятно, вам следует использовать его в своем httpd.conf файл вместо этого.

В документации Apache есть отличное описание того, когда не использовать .htaccess.

Не бойся обработчика 404

Обработчики 404 могут выполнять довольно тяжелую работу

Во-первых, все, кто трепещет при мысли о создании своего собственного обработчика 404, примите валиум. Это не так уж сложно. Если у вас работает RewriteRule и вы дожили до конца, у вас не возникнет проблем с созданием собственного обработчика ошибок 404.

Это просто веб-страница, на которой отображается какое-то сообщение «не найдено», но она дает вам возможность взглянуть на запрошенную страницу, и, если вы можете «сохранить ее», вы перенаправляете пользователя на страницу, которую они ищите всего парочку строк кода.

В противном случае возвращается статус HTTP 404 вместе с тем, как вы хотите, чтобы страница выглядела, когда вы говорите им, что не можете найти то, что они искали.

Кстати, наличие собственного обработчика 404 дает вам возможность развлечь пользователя, а не просто заставить его пожалеть себя. Посмотрите этот пост в Smashing Magazine на креативных страницах 404.

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

Вот пример обработчика 404 в ASP. Важная заметка: не использовать Response.Redirect — это 302, а не 301!

Для PHP вам нужно добавить строку в ваш.htaccess указывая туда, куда вы положили обработчик 404:

  • ErrorDocument 404 /my-fabulous-404-handler.php

Затем в этом файле PHP вы можете получить URL-адрес, который не был найден, через:

  • $ request = $ _SERVER[‘REDIRECT_URL’];

Затем используйте любую логику PHP, которую вы хотите проанализировать URL-адрес и выяснить, куда отправить пользователя.
Если вы можете успешно перенаправить его, установите:

  • заголовок («HTTP / 1.1 301 перемещен навсегда»);
  • заголовок («Местоположение: http://www.acmewidgets.com/purple-gadgets.php»);

И вот здесь в PHP это становится немного опасным. Нет реального способа передать управление другой веб-странице за кулисами — не сообщив браузеру или роботу Googlebot через 301, что вы передаете его другой странице. Но вы можете использовать звонок требовать() на лету, чтобы получить код с целевой страницы. Просто не забудьте сначала установить код HTTP на 200:

  • заголовок (‘HTTP / 1.1 200 OK’);

И вы должны быть осторожны на своем сайте, чтобы использовать include_once () вместо включают() чтобы убедиться, что вы не втягиваете общий файл дважды. Другой вариант — использовать завиток чтобы захватить содержимое целевой страницы, как если бы оно было на удаленном сервере, а затем вернуть HTML-код обратно в поток, повторив то, что вы получили обратно. Но это немного опасно, если вы пытаетесь отказаться от печенья …

И, если вам действительно нужно отправить 404:

  • заголовок («HTTP / 1.0 404 не найден»);

Очень важно: будьте осторожны, чтобы убедиться, что вы возвращаете правильный HTTP-код из обработчика 404. Если вы нашли страницу с хорошим контентом, которую хотели бы показать, верните 200. Если вы нашли хорошее совпадение и хотите, чтобы робот Googlebot знал об этом имени страницы вместо того, что было запрошено, сделайте 301. Если вы действительно не знаете, У меня хорошее совпадение, убедитесь, что вы отправили 404. И не забудьте проверить фактические полученные коды ответов — я большой поклонник подключаемого модуля HttpFox Firefox.

Легкость отладки

Вот где обработчик 404 действительно завоевывает мою любовь. Поскольку это просто еще одна веб-страница, вы можете вывести частичные результаты манипуляции со строкой, чтобы увидеть, что происходит.

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

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

Указывается ли URL в смешанном регистре? Косые черты … вперед? Обеспечить регресс? Мне нужно было сбежать от этого персонажа … или это не та особенность?

Вон, чертовы жуки!

Вы летите вслепую. Это работает или не работает.

Если вы боретесь с RewriteRule регулярные выражения, Rubular имеет хороший редактор / тестер регулярных выражений.

Гибкость программирования

Ваш обработчик 404 дает вам максимальную гибкость программирования

С участием RewriteRule, вам нужно выполнить всю работу в одной строке регулярного выражения.

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

В обработчике 404 вы можете вызывать функции для таких вещей, как преобразование числовых параметров исходного URL-адреса в слова и наоборот.

Доступ к вашей базе данных

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

А поскольку обработчик 404 — это просто еще одна веб-страница, вы можете делать с базой данных все, что и на любой другой веб-странице.

Обработчики 404 позволяют вам взаимодействовать с вашей базой данных для декодирования URL-адреса или формирования частей вашего целевого URL-адреса.

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

Необработанный URL-адрес для конкретной страницы отеля мог быть примерно таким:

/hotel.asp?dest=41&island=3&hotel=572

В то время как «красивый URL» для этого отеля мог быть примерно таким:

/ отели / Гавайи / Мауи / Гранд-Вайлеа /

Когда клиент запрашивал приведенный выше «красивый URL», мой обработчик 404 разбивал URL-адрес на разделы:

  1. поиск 2-го раздела в таблице назначений (Гавайи = 41)
  2. поиск 3-го раздела в таблице островов (Мауи = 3)
  3. поиск 4-го раздела в таблице гостиницы (Гранд Вайлеа = 572)

Затем я бы назвал функцию ASP Server.Transfer передать исполнение /hotel.asp?dest=41&island=3&hotel=572 для создания контента.

Теперь имейте в виду, что вы, вероятно, захотите сгенерировать ссылки к вашим красивым URL-адресам из идентификаторов базы данных, а не жестко их кодировать. Например, если у вас есть страница со списком всех отелей на Мауи, вы получите все идентификаторы отелей из базы данных для отелей, в которых destination = 41
и остров = 3, и хотите написать ссылки вроде / отели / Гавайи / Мауи / Гранд-Вайлеа /. Функции, которые вы пишете для этого, будут очень и очень похожи.
к тем, которые вам нужны для декодирования этих URL-адресов в обработчике 404.

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

Представление

Google сегодня заботится о скорости загрузки страницы

Для большинства людей производительность труда снижается.htaccess не будет значительным.

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

Все запросы оцениваются в.htaccess, нужны ли URL-адреса в манипуляции / перенаправлении или нет.

Сюда входят ваши файлы CSS, изображения и т. Д.

Перенося переписывание / перенаправление на обработчик 404, вы избегаете проверки кода сопоставления URL-адреса с каждым файлом, запрашиваемым с вашего веб-сервера — только URL-адреса, которые не могут быть найдены как есть, попадут в обработчик 404.

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

Даже если вы ожидаете, что почти каждая запрашиваемая страница будет нуждаться в де-красивом URL (преобразовании в параметризованную страницу), не забывайте о файлах изображений, файлах Javascript, CSS и т. Д. Подход обработчика 404 позволит избежать наличия URL-адресов для этих компонентов страницы. проверяется на соответствие вашим шаблонам конверсии каждый раз, когда они выбираются.

Особый случай

Хорошо, может быть, этот случай не такой уж особенный — вообще-то он довольно распространен. Допустим, мы перешли к структуре новых красивых URL-адресов из старых параметризованных URL-адресов.

Мы не только должны иметь возможность перейти от красивого URL -> параметризованного URL-адреса для создания содержимого страницы для пользователя, мы также хотим перенаправить ссылочный вес из любых старых параметризованных URL-ссылок на новые красивые URL-адреса.

На актуальной параметризованной веб-странице (например, hotel.asp в приведенном выше примере) мы хотим сделать 301 редирект на красивый URL. Мы возьмем каждый из числовых параметров, найдем пункт назначения, остров и название отеля и создадим наш красивый URL-адрес и 301 для этого. Там ссылочный сок все сохранен …

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

Когда это происходит, Firefox предлагает сообщение о том, что вы сделали что-то настолько глупое, что даже не пытается получить страницу. Однако они говорят это так вежливо: «Firefox обнаружил, что сервер перенаправляет запрос на [URL] таким образом, который никогда не будет завершен «.

Кстати, вполне возможно, что та же проблема возникнет через RewriteRule высказывания — знаю по личному опыту 🙁

На самом деле решить эту проблему не так уж и сложно. В ASP, когда обработчик 404 передает управление странице hotel.asp, строка запроса теперь начинается с «404; http«. Итак, в hotel.asp мы видим, начинается ли строка запроса с 404, и если да, мы просто продолжаем отображать страницу. Если она не начинается с 404; http, тогда мы 301 переходим к красивому URL.

Другие ссылки

Информация о настройке обработчика 404 в Apache:

  • http://www.plinko.net/404/custom.asp
  • http://www.webreference.com/new/011004.html
  • http://www.phpriot.com/articles/search-engine-urls/4

Документация Apache по RewriteRule:

  • http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#RewriteRule

Пользовательские страницы ошибок ASP.net:

  • http://aspnetresources.com/articles/CustomErrorPages.aspx

Отличная статья о создании страниц 404 для сайтов WordPress, которые удерживают клиентов на вашем сайте (спасибо

Archshrk!):

  • http://yoast.com/404-error-pages-wordpress/

[ad_2]

Оцените статью
( Пока оценок нет )
Добавить комментарий

Top.Mail.Ru
اجمل جسم بنت hardpornx.net سكس تمريض
free punjabi xxx video porno-trash.net video 9.com
hot namitha indianhottube.com odia sxy
sonagachi girls rate pornucho.mobi nayanthara home
babhi porn yourporn.name dpsbokaro
xxxstepmom freepakistaniporn.com xnxxx sex videos
tamil sex videos twitter ganstagirls.info hindi x picture
www. kamukta.com mom2fuck.mobi xxx pourn
سكس الابن وامة freepornhunter.net سكس نيك موت
جنس كلاسيك bibshe.com فنانات عرب عاريات
warangal sex videos mojoporn.net english sex with
سكس امهات مصرى porn2you.org مدرسة شبرا الشرموطة
indian sexuniversity indiansexmms.me hyd x videos
shiro bara no kishi loriana hentaisin.com bricola 5
futanari club hentai hentai.name floatzel hentai