301 редирект в файле htaccess — детальная инструкция по применению
Содержание:
- 301 редирект: что это такое
- HTML Redirect: Useful Tips
- Для чего нужен редирект
- Канонизация домена сайта или как склеить домен?
- Один (а не два последовательных!) 301 редирект на c www и со слешем на конце адреса страницы
- Настройка 301 редиректа
- Что такое редирект простыми словами
- Синтаксис и символы
- Подробно о Проверка редиректа www
- Настройка 301-й переадресации
- Чего не стоит делать с редиректами?
- Примеры 301 редиректов в .htaccess
- Один (а не два последовательных!) 301 редирект на c www и без слеша на конце адреса страницы
- Проброс портов // по шагам
- Генератор редиректов
- Вывод кода JavaScript-редиректа с помощью функции PHP echo()
301 редирект: что это такое
Можно столкнутся с несколькими видами редиректов, которые применяются в программировании и оптимизации. Одним из них будет 301 редирект, что это такое для нас не секрет. По другому его еще называют 301 Moved Permanently.
Один из наиболее популярных видов, к помощи которого прибегают для переноса локации навсегда, после чего следует заняться качественной настройкой Яндекс Директ, чтоб сделать это с минимальными потерями. Обычно этот редирект используется на постоянной основе при:
- Перемещении доменов;
- Перемещении документов;
- Изменении протоколов сайтов;
- Изменении структуры сайтов.
По окончанию данного процесса, Ваш прежний URL исчезнет из выдачи, а новый будет индексироваться поисковиками, сохранив показатели прежнего.А если сервис будет выдавать браузеру ошибку 404 – это будет означать, что редирект не настроен.
HTML Redirect: Useful Tips
- If you don’t define a new URL address for the redirect, HTML page will simply reload itself after the time specified. It can be useful when you need to refresh dynamic content.
- We’d advise you to avoid delays shorter than 3 seconds, as that makes it virtually impossible for the user to click the Back button on their browser.
- Be careful not to overuse HTML meta redirects: if your website has a ton of them, the search engines may think it contains spam and remove it from their index.
- You can also create redirects with PHP, JavaScript, Ruby on Rails, and Python Flask, as well as in the Apache, Nginx, and Lighttpd web servers.
Для чего нужен редирект
Если Вас до сих пор интересует для чего нужен редирект, ты мы с полной уверенностью скажем, что они помогают корректно перенаправить посетителей на нужные нам страницы, без какого-либо их ущерба и без нарушения требований поисковых систем.
Редирект, который правильно настроен, сохранит весь ссылочный вес и «авторитет» страницы-донора, передав его на страницу-акцептор. Он будет незаменимой вещью при работе в системах CRM Вашего ресурса, и во многих других его сферах.
Таким образом, мы пришли к выводу, что редирект и его виды требуется использовать для решения конкретных задач, для которых они были созданы. Знания и контроль ситуации, смогут сделать их отличным и эффективным инструментом в оптимизации сайта.
Канонизация домена сайта или как склеить домен?
Чтобы настроить редирект с www на без www нам необходимо знать в каких случаях будет происходит склейка домена и зачем она нужна.
Во-первых, склейка домена это обьединение нескольких сайтов в один, в результате чего основному домену передается ссылочный вес и основные показатели авторитетности домена, который ссылается на сайт.
Во-вторых, это используется при 1) возникновении необходимости убрать дублированный контент; 2) переезде на новый домен.
В-третьих, 301 редирект может быть настроент через .htaccess. Простой редирект задается в файле .htaccess, который является конфигурационным файлом веб сервера и выглядит следующим образом:
Для склейки домена с www с адресом без www:
Для склейки без www на www:
Для правильного выбора основного варианта склейки рекомендуется учитывать:
- какой из вариантов находится в ТОПе поисковой выдачи;
- по какому из вариантов больше страниц в индексе.
Канонизация слеша в конце URL
При разработке веб-ресурса очень важно выбрать корректный формат с использованием косой черты в конце урла, поскольку для поисковых система два варианта указанные ниже это два разных URL-адреса:
- http://www.site.com/cat1/
- http://www.site.com/cat1
Поэтому, после выбора одного варианта на веб-ресурсе вам стоит настроить такие переадресации:
Чтобы удалить слеш в конце:
Для добавления слеша в хвосте адреса:
Переадресация с одной страницы на другую:
Переадресация для зеркал домашней страницы
Нижеприведенный фрагмент кода дает гарантию, что все урлы главной страницы, включающие несколько вариантов прямых ссылок на страницу, к примеру, default.htm или index.html, будут перенаправлены на каноническую домашнюю страницу, http://www.site.com/:
Если URL-адрес содержит структуру каталога, значит в случае изменения каталога, вам также придется соответствующим образом изменить URL-адрес. В подобном варианте вам следует прописать такой редирект:
Но если урл старого каталога начинается непосредственно после имени домена: www.site.com/old-catalog/, то стоит применить следующий код
Переадресация при изменении файловых расширений
Если вдруг вы перешли на альтернативную платформу или систему управления контентом, и поменяли расширения адресов вашего сайта, тогда используйте такой формат перенаправления.
Примеры использования для предотвращения появления на сайте дубликатов страниц
Построение редиректов из различных доменов и поддоменов
Если вы приобрели несколько адресов в различных доменных зонах или создали новый сайт с привязкой к поддомену, и не закрыли субдомен от индексирования, то стоит сделать перенаправление на главный домен:
В идеале все дополнительные доменные адреса, включая www.site.ru, www.site.net, test.site.com, будут переадресованы на основной источник www.site.com.
Как удалить несколько слешей либо тире в адресе сайта
Бывают случаи, когда по неизвестным причинам адрес может включать несколько слешей, например, www.site.com/catalog////page-3.html. Здесь необходимо проставить 301-редирект на страницу с одним слешем www.site.com/catalog/page-1.html:
Также доступна опция объединения нескольких тире в одно из URL-адреса: от www.site.com/catalog/page-1.html:
Как сделать переадресацию с любого URL на адрес с нижним регистром?
Так как поисковики учитывают разницу с разным регистром букв, при разработке веб-ресурса настоятельно рекомендуется добавлять все URL-адреса именно в нижнем регистре
Но если вы изначально не акцентировали внимание на этом моменте, то лучше использовать такой алгоритм перенаправления на уровне php -скрипта:
Один (а не два последовательных!) 301 редирект на c www и со слешем на конце адреса страницы
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://www.%1/$1/
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://www.%1/$1/
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://www.%1/$1
Настройка 301 редиректа
Настроить постоянное перенаправления можно несколькими способами. Разберем основные из них более подробно.
Через плагины CMS
301 редирект можно запросто настроить, используя специальные плагины. Для сайтов, организованных на платформе WordPress, самым популярным и удобным является плагин Simple 301 Redirects.
Нужно отметить, что единственным минусом данного расширения является отсутствие автоматического составления редиректов. Каждое перенаправление задается вручную.
Через htacсess
Один из самых распространенных способов настройки редиректа. Задействуется файл .htaccess, который находится в корне сайта в папке public_html. Данный файл является серверным и присутствует на серверах под управлением Apache.
Как правило, .htaccess создается автоматически при установке CMS. Если же его нет в корне сайта, то необходимо создать его вручную.
Перед тем, как редактировать серверные файлы, следует сделать резервную копию.
Чтобы настроить 301 редирект с помощью .htaccess, нужно прописать в содержимом файла следующее (используя адрес своего сайта):
Чтобы перенаправить весь сайт на другой адрес:
Чтобы перенаправить один документ на другой:
Через php условия
Данный вариант может подойти тем вебмастерам, которые отлично разбираются в структуре своего проекта и владеют знаниями PHP. Для того, чтобы настроить редирект посредством PHP, нужно внести изменения в соответствующий файл, например index.php, если перенаправление настраивается с главной страницы:
Естественно, вместо http://www.site.ru/new-link/ следует использовать адрес, на который настраивается редирект.
Через Nginx
Файл nginx.conf является серверным, как и .htaccess. Единственное отличие, что данный вариант присутствует на серверах под управлением Unix.
Для того, чтобы настроить 301 редирект, нужно отредактировать nginx.conf, который также располагается в корне сайта. Для перенаправления всего сайта целиком, следует прописать код:
Что такое редирект простыми словами
Редирект (англ. «Redirect») — это автоматическое перенаправление пользователей с одной страницы сайта на другую, причём как в пределах одного проекта, так и на внешние. Для поисковых систем редирект применяется для склейки адресов страниц.
У каждого редиректа есть свой номер, который отвечает за его функцию. Выделяют следующие виды:
- 300 редирект — множественный выбор;
- 301 редирект — перемещен навсегда;
- 302 редирект — документ найден;
- 303 редирект — смотри другое;
- 304 редирект — документ не изменился;
- 305 редирект — используй прокси;
- 306 редирект — не используется;
- 307 редирект — временный редирект;
Лидером использования является 301 редирект. Он используется, когда адрес страницы сайта изменился навсегда. Как показывает практика — это наиболее часто встречающаяся ситуация. Во всех примерах ниже, как раз будет именно он.
Существует несколько способов сделать редирект. У каждого есть свои плюсы и минусы. Ниже мы рассмотрим каждый из них в отдельности с примерами.
Синтаксис и символы
- . — Точка означает любой символ.
- — перечень символов, совпадающих с буквами a, b, или с.
- — перечень символов, не входящих в диапазон. Условию соответствует любой символ, кроме a, b, с.
- * — предыдущий символ может повторяться 0 и более раз.
- * — найти символы из заданного набора идущие подряд.
- * — обратная операция.
- .* — замена любого набора символов. «.*» — найти все подстроки между кавычками.
- ^ — обознает начало строки (при использовании в начале выражения).
- $ — конец строки.
- \w — буква, цифра или подчёркивание _.
- \d — любая цифра.
- \D — любой символ, кроме цифр.
- — указание на любую цифру.
- — указание на любую букву от a до z с нижним регистром.
- — указание на любую букву от A до Z с верхним регистром.
- — любая буква от a до Z, регистр не важен.
- — тоже самое, только короче.
Флаги для доп. опций
- NC — NoCase отключает проверку регистра символов при срабатывании правила.
- R — Redirect останавливает изменение URL-адреса и возвращает результат. Самое популярное значение R=301, однако встречаются и другие для временных редиректов (302, MOVED TEMPORARY).
- L — Last останавливает создание URL-адреса и строка считается окончательной.
Подробно о Проверка редиректа www
Проверка редиректа www?
Redirect Checker или www Redirect Checker — это наиболее полезный инструмент, который можно использовать для отслеживания пути URL, куда он идет при вводе в браузере. Перенаправление может быть просмотрено URL-адресом в любой строке браузера, на которую он перенаправляется, но этот замечательный инструмент будет отображать все виды цепочек, которые формируются в процессе перенаправления. Этот бесплатный инструмент поможет вам найти полный код ответа для каждого отправленного вами URL. Эта утилита также известна под названием средство проверки перенаправления 301, что означает поиск типа инструкции перенаправления, выдаваемой файлом httacess.
Связанные инструменты:
- Полный анализ сайта
HTTP перенаправляет разные коды Руководство:
Трассировку перенаправления можно просто объяснить, когда простой URL-адрес переходит на другой URL-адрес перенаправления, который был установлен за кодом. Здесь описаны наиболее часто используемые типы перенаправления HTTP.
300 (множественный выбор): код реакции состояния перенаправления HTTP 300 с несколькими альтернативами указывает, что запрос имеет более одного доступного ответа. Пользовательский агент или пользователь должны выбрать один из них. Поскольку не существует последовательного способа выбора одной из реакций, этот код ответа почти никогда не используется.
301 перемещен навсегда: протокол передачи гипертекста (HTTP) — 301 перемещен Код ответа состояния постоянного перенаправления указывает, что требуемый ресурс был окончательно перемещен по URL-адресу, указанному в заголовках Location. Браузер перенаправляет на эту страницу, а поисковые системы изменяют свои ссылки на источник.
302 Найдено (HTTP 1.1) / перемещено временно (HTTP 1.0): Протокол передачи гипертекста (HTTP) 302 Код ответа состояния перенаправления обнаружен указывает, что запрошенный ресурс был временно перемещен на URL-адрес, указанный в заголовке Location. Веб-браузер переходит на этот сайт, но поисковые системы не обновляют свои ссылки на ресурс.
307 перемещен временно (только HTTP 1.1): код ответа позиции HTTP 307 с мгновенным перенаправлением означает, что запрошенный ресурс был временно перемещен по URL-адресу, указанному в заголовках.
Мета-обновление: мета-обновление — это своего рода перенаправление, которое выполняется на уровне страницы, а не на уровне сервера. В поисковой оптимизации метаобновление не является рекомендуемой техникой, поскольку она не является быстрой. Обычно это 5-секундный обратный отсчет времени, который говорит: «Если нас не перенаправят через пять секунд, нажмите здесь». связано с этой конкретной страницей.
Какую вы можете получить выгоду от этого инструмента перенаправления?
Средство проверки перенаправления или детектив перенаправления может использоваться для поиска специального URL-адреса, ведущего на сайт, который веб-мастер или владелец желают просматривать для пользователей. В основном эти ссылки предназначены для продвижения веб-сайтов, сокращения URL-адресов, аффилированности или любых методов SEO для получения ссылочного веса. Самыми известными примерами такого перенаправления являются партнерские ссылки Amazon, goo.gl, bit.ly, твиты в Твиттере и службы сокращения ссылок. А если вам нужно создать код перенаправления, используйте инструмент Htaccess Redirect Generator, который очень легко сделает ваш код.
Используемые файлы cookie, которые задают путь для перенаправления, также можно измерить с помощью этого инструмента. Этот инструмент найдет ссылки и номер цепочки перенаправления для определенного URL-адреса. Вы получите результат очень быстро, а затем выберете цепочку, в которой происходит это перенаправление.
Как использовать наш инструмент www Redirect Checker онлайн?
Использование www Redirect Checker или 301 Redirect Checker очень просто, как и все другие инструменты SAS. Вам нужно просто ввести желаемый URL-адрес домена и увидеть волшебство перед собой. Введите свой URL-адрес в текстовое поле и нажмите клавишу ВВОД. Он очень быстро покажет всю цепочку перенаправления.
Если ваш домен или ссылка имеет код перенаправления, встроенный в файл .htaccess, вы обязательно увидите положительный результат в этом инструменте, в противном случае это обычная ссылка. Вы можете использовать его в любое время без каких-либо ограничений и получить стопроцентный результат.
Настройка 301-й переадресации
Как настроить 301 редирект
Настройка 301 редиректа
Есть несколько способов проведения редиректа. Какой из них выбрать, зависит от движка сайта.
Через файл .htaccess (альтернатива для Арасhe – httpd.conf). Этот метод популярен из-за своей простоты. При его использовании в папке ресурса создается файл .htaccess. Если он там есть, нужно провести редактирование
При этом важно предварительно сохранить файл (или весь сайт) в исходном виде. Чтобы сделать постоянный редирект, открываем его и в начале прописываем команды, заменив адреса своими.
Переадресация сайта целиком:
Rеdіrесt / httр://novyi-saіt.соm/ – здесь указываем свой новый адрес сайта.
Удаление префикса WWW (переход на адрес без него):
1-я строка – кодовая комбинация – RеwrіtеЕngіnе оn;
2-я строка – RеwrіtуСоnd %{НТТР_НОSТ} ^www.рrіmеr\.соm – здесь указываем первоначальный адрес своего сайта;
3-я строка – RеwrіtеRulе ^(.*)$ httр://рrіmеr.соm/$1 – в этой строке url без префикса.
Перемещение на другую страницу:
Rеdіrесt 3О1 /strаnіса-1.html / strаnіса -2.html
Переход на НТТРS с НТТР:
1-я строка с кодом – RеwrіtеЕngіnе Оn
2-я строка – RеwrіtеСоnd %{НТТРS} оff
3-я строка – RеwrіtеRulе (.*) httрs://%{НТТР_НОSТ}%{RЕQUЕSТ_URI}
Важно учитывать реализацию команды на сервере с операционной системой Apachе и Linux с активацией модуля Mod_rewrite. Можно использовать файл конфигурации hpptd.conf
- При помощи специальных плагинов в CMS. Это также довольно простой способ переадресации. Если сайт построен на WordPress, для редиректа можно использовать Simple 3О1 Redirects, расширение, единственный минус которого заключается в необходимости составлять перечень адресов для перенаправления вручную.
- Через условие РНР. Этот способ подходит в том случае, если есть достаточный объем знаний о РНР и структуре интернет-проекта. Для его применения нужно для сайта на СМS открыть в корне движка index.php и вписать в этот файл:
іf($_SЕRVЕR == «/іndех.рhр») { здесь указывается старый адрес
hеаdеr(«Lоcаtіоn: /»,ТRUЕ,3О1); – в этой строке нужно указать новый url
ехіt()
}
Переадресацию РНР можно провести, отправив заголовки (скрипт):
<?рhр
hеаdеr(«НТТР/1.1 3О1 Mоvеd Реrmаnеntly»); -–команда постоянного редиректа
hеаdеr(«Lосаtіо: http://www. nоvyі-sаіt.соm/nоvаjа-рарса/novaia-stranica.htm»)
еxіt()
?>
- ASP. Прописываем следующее:
<%@ Lаnguаgе=VВScrіpt %>:
<%
Rеspоnsе.Stаtus=»3О1 Mоvеd Реrmаnеntly» – команда редиректа
Respоnse.АddHeаdеr «Lосаtіon», «httр://www.nоvyі-аdrеss.соm»
rеspоnsе.еnd
%>
- ASP.NET. В корневой папке сайта нужно найти web.config и прописать в этом файле такой набор команд:
<sсrірt runаt=»sеrvеr»>
рrіvаtе vоіd Раgе_Lоаd(оbjесt sеndеr, Systеm.ЕvеntАrgs е)
{
Rеsроnsе.Stаtus = «3О1 Mоvеd Реrmаnеntly»
Rеspоnsе.АddНеаdеr(«Lосаtіоn»,»httр://www.nоvyі-аdrеss.соm»)
}
</sсrірt>
- ColdFusion. Прописываем комбинацию:
<.сfhеаdеr stаtusсоdе=»3О1″ stаtustехt=»Mоvеd реrmаnеntly»>
<.сfhеаdеr nаmе=»Lоcаtіоn» vаluе=»httр://www.nоvyі-аdrеss.соm»>
- JSP (Java). Этот способ переадресации подходит, когда нужно внести незначительные коррективы в несложный проект. Можно внести код в один файл и разместить на каждой нужной странице с такими командами:
<sсrірt tyре=»tехt/jаvаsсrірt» srс=»rеdіrесt.js»></sсrірt>
<script type=»text/javascript»>
lосаtіоn=»httрs://yаndех.ru»
</sсrірt>
- CGI-скрипт на PERL. Используем следующее:
$q = nеw СGІ
рrіnt $q->rеdіrесt(«httр://www.nоvyі-аdrеss.соm/»)
- Ruby on Rails. Прописываем комбинацию:
dеf оld_асtіоn
hеаdеrs = «3О1 Моvеd Реrmаnеntly»
rеdіrесt_tо «httо://www.nоvyі-аdrеss.соm/»
еnd
- Nginx. Используем код:
іf ($hоst = ‘www.dоmаіn.соm’ ) {
rеwrіtе ^(.*)$ httр://dоmаіn.соm$1 реrmаnеnt
}
- HTML. Такой способ редиректа подходит для статичных несложных сайтов, на которых нужно изменить только отдельные страницы. Чтобы сделать переадресацию НТМL, нужно внести особый метатег. Например, для перемещения на другой сайт после 5 минут ожидания потребуется такая команда:
<mеtа httр-еquіv=»rеfrеsh» соntеnt=»5;httрs://mеstо-nаznасhеnіyа.рrо»>
Чтобы отправка посетителя на сайт https://mesto-naznacheniya.pro произошла моментально, достаточно заменить значение 5 на 0. Но если сайт крупный, такую переадресацию делать непросто и довольно долго, поэтому стоит выбрать более подходящий вариант.
Чего не стоит делать с редиректами?
Вот несколько вещей, которые не стоит делать с редиректами, если вы не хотите спустить в трубу ваши усилия по сео-оптимизации:
1. Два и более редиректов подряд. Поисковики не любят, когда происходит несколько редиректов подряд. Поэтому необходимо стараться делать так, чтобы был всего один redirect. Кроме того, каждая переадресация это время и дополнительный запрос к сайту.
2. Перенаправление на несуществующие страницы. Необходимо, чтобы страница, на которую происходит редирект, существовала и отображалась с кодом 200 (нет ошибок).
3. Бездумное использование кодов 301 и 302. Не стоит использовать коды не по назначению. Например, если вы временно перенесли страницу, то использование 301 кода может привести к массе проблем, когда вы начнете использовать исходную страницу. Как минимум, проблема в том, что поисковики уже стали считать исходную страницу несуществующей.
4. Использование JavaScript для замены полноценного редиректа. Как уже говорилось, поисковики не считают данный вид редиректа полноценным. Поэтому если необходима нормальная переадресация, то используйте иные методы.
5. Часто менять редиректы. Это как в жизни, если вас постоянно переадресуют разным людям, то закрадывается некое подозрение. Поэтому, старайтесь тщательно продумывать структуру ваших url адресов.
6. Если тексты страниц сильно отличаются. Представьте себе, что вы пытаетесь открыть страницу с мемами о котятах, а вас переадресует на страницу о физике. Вряд ли бы вы отнеслись к такой ситуации позитивно. Аналогично, поисковики воспринимают подобные редиректы. Конечно, существуют нюансы, например, код 302 на страницу «сайт чинится». Однако, не стоит подобным злоупотреблять.
Теперь, вы знаете что такое редирект, а так же некоторые важные особенности.
- Нативная реклама
- Nofollow, Noindex: что это такое и как использовать
Примеры 301 редиректов в .htaccess
Мы уже рассматривали множество примеров с редиректом по .htaccess в статьях:
- 301 редирект для удаления/добавления слэша в конце URL;
- 301 редирект с index (.html и .php) на корень сайта «/»;
- Редирект 301 с http на https;
- Редирект 301 с www на без www;
- Смена адреса сайта — редирект со старого домена на новый;
Здесь мы дополним варианты редиректов, которых ещё не было.
Редирект с site.ru/cat/oldpage на site.ru/newpage.html
2.4. Удаление лишних слэшей в адресе URL
Например, страница /catalog///stranica.html доступна и открывается. Чтобы избежать такой ситуации и не плодить бесконечное число дублей следует записать следующий редирект
2.5. Реврайт без редиректа
Можно загрузить другую страницу без смены адреса страницы URL. Например, загрузим страницу /news.html, а в адресной строке будет отображаться адрес /news/happy
2.6. Простановка замыкающего слеша в конце адреса главной страница
Например, многие сервера работают так, что последний слэш не пишется в URL. Например, http://site.ru. Ниже приведенный код решают это проблему: сайт будет открывать по http://site.ru/
Например, для редиректа со страницы site.com/directoriya/stranica.html на site.com/stranica.html нужно прописать следующее:
2.9. Редирект на мобильную версию сайта m.site.ru
В данном примере сначала проверяется факт того, что пользователь открыл сайт с мобильного устройства {HTTP_USER_AGENT}, далее происходит замена адреса сайта на m.URL
Один (а не два последовательных!) 301 редирект на c www и без слеша на конце адреса страницы
RewriteCond %{REQUEST_URI} ^\/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://www.%1/$1
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} \/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)\/$ http://www.%1/$1
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://www.%1/$1
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} \/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)\/$ http://www.%1/$1
Проброс портов // по шагам
1) Вход в настройки роутера
Логично, что первое необходимое действие – это вход в настройки роутера. Чаще всего, достаточно в любом браузере набрать адрес http://192.168.0.1/ (либо http://192.168.1.1/) и нажать Enter.
В качестве логина и пароля использовать admin (либо заполнить поле логина, а пароль вообще не вводить).
Если вдруг IP-адрес не подошел, а сеть у вас есть и работает – то попробуйте открыть командную строку и ввести ipconfig. Среди кучи появившихся параметров, должны увидеть строчку “Основной шлюз” – это и есть IP-адрес настроек роутера.
Как узнать IP-адрес для входа в настройки в роутер
2) Присваиваем компьютеру постоянный локальный IP-адрес
Каждый раз, когда вы включаете компьютер или ноутбук, он, соединившись с роутером получает свой IP-адрес в локальной сети (т.е. той домашней локальной сети, которую организует роутер). Например, у вашего ноутбука может быть адрес – 192.168.0.101, а у компьютера – 192.168.0.102.
Этот адрес локальный (внутренний) и он может меняться (если это специально не настроить)! Т.е. сегодня у вашего компьютера был IP 192.168.0.102, а завтра 192.168.0.101. А для проброса портов – нужно, чтобы он был постоянным, и не изменялся с течением времени.
Чтобы это сделать в роутерах, как правило, необходимо знать MAC-адрес сетевого адаптера, через которое вы подключаетесь к нему. Например, в ноутбуках – это, как правило – беспроводной адаптер, в компьютерах – Ethernet.
Узнать MAC-адрес можно также в командной строке – команда ipconfig/all покажет физический адрес устройства (это и есть MAC-адрес). См. скрин ниже.
Физический адрес адаптера – это и есть MAC-адрес
Собственно, дальше в настройках локальной сети в роутере (где задается привязка конкретного статического IP к MAC) укажите ваш локальный IP-адрес и MAC-адрес сетевого адаптера. Таким образом, даже после выключения вашего ПК (перезагрузки) и т.д. – ваш IP будет постоянным (т.е. в нашем примере 192.168.0.102, т.е. роутер, по сути, его за вами закрепит и не даст никакому другому устройству!).
Статический IP-адрес (кликабельно)
ASUS – привязка IP к MAC-адресу
3) Открываем порт для нужной программы
Теперь осталось открыть порт для конкретной программы. Но прежде, один небольшой вопрос…
Например, в uTorrent порт можно посмотреть в настройках соединения (см. скрин ниже).
Настройки uTorrent
В моем случае 16360 (но его можно и поменять). Браузеры используют 80 порт, Skype – подобно uTorrent, можно уточнить в настройках (и поменять в случае необходимости).
Как правило, порты (которые нужно открыть) указаны в файле помощи, в настройках приложения, или просто в ошибке, которая сообщит вам о проблемах с NAT!
Что касается каких-то игр – то этот момент необходимо уточнять в технических характеристиках игры, либо у разработчиков (также можно на тематических форумах).
Продолжим…
В настройках роутера в разделе задания параметров интернета (часто раздел WAN) можно задать перенаправление портов (Port Forwarding). В роутере Tenda — это раздел “Дополнительные параметры”.
Достаточно указать внутренний локальный IP-адрес (который мы в предыдущем шаге этой статьи привязывали к MAC-адресу), и порт, который хотите открыть
Обратите внимание, что также может потребоваться указать протокол TCP или UDP (если не знаете какой открыть – открывайте оба)
Парочка скринов представлены ниже (для роутеров ASUS и Tenda).
Порт для uTorrent был открыт!
ASUS – порты открыты (в качестве примера)
Собственно, порты проброшены. Можете сохранять настройки и пользоваться программами — всё должно работать…
4) Пару слов о DMZ-хосте
Все, что писано выше, мы сделали лишь для одного-двух портов. А представьте, если вам необходимо открыть все порты?! Например, это часто бывает нужно для создания игрового сервера, для организации видеонаблюдения и пр. ситуациях.
Для этого во всех современных роутерах имеется специальная функция DMZ-хост. Включив ее и указав нужный локальный IP-адрес в вашей сети, вы открываете все порты у этого компьютера. Пример настроек представлен на скрине ниже.
Включаем DMZ-хост / Включите также UPnP
Отмечу, что делать так следует только по необходимости. Все-таки, таким быстрым и не хитрым образом, вы открываете полностью свой ПК для доступа из интернета (что не очень хорошо в плане безопасности).
А у меня по теме вопроса пока всё.
Дополнения приветствуются…
Удачной настройки!
RSS
(как читать Rss)
Генератор редиректов
В завершении нудного теоретического блока приведу генератор редиректа, который позволит без ошибок сгенерировать код для нужного вам типа редиректа. Хотя, для тех, кто внимательно читал, все и так предельно понятно)
На самом деле, инструментов на этот случай великое множество (в том числе – плагины для CMS). Так как все они делают они одно и то же, приведу только один пример: 301 Redirect Code Generator
301 Redirect Code Generator – онлайн генератор кода редиректа
Пожалуй, дополнительные комментарии тут излишни: просто вводите адрес страницы-донора (опционально), страницы-акцептора, выбираете подходящий тип редиректа, жмете кнопку “Generate Code” и будет вам счастье)
Вывод кода JavaScript-редиректа с помощью функции PHP echo()
Это не является чистым PHP-решением. Тем не менее, оно также эффективно. Вы можете использовать функцию PHP echo() для вывода кода JavaScript, который будет обрабатывать редирект.
Если воспользуетесь этим решением, то не придется использовать буферизацию вывода. Что также предотвращает возникновение ошибок, связанных с отправкой заголовков.
Ниже приводится несколько примеров, в которых использованы разные методы JavaScript для редиректа с текущей страницы на другую:
<?php echo "<script>self.location='https://example.com/final.php';</script>"; echo "<script>document.location.href='https://example.com/final.php';</script>"; echo "<script>window.location.href='https://example.com/final.php';</script>"; echo "<script>window.location.replace('https://example.com/final.php');</script>"; ?>
Единственным недостатком этого метода перенаправления на другой сайт PHP является то, что JavaScript работает на стороне клиента. А у ваших посетителей может быть отключен JavaScript.