Что такое htaccess, редирект через htaccess и изменение адресов с mod_rewrite
Файл «.htaccess» (с точкой в начале названия файла) — это конфигурационный файл Apache. Он позволяет изменять глобальные настройки в некоторых конкретных директориях. К примеру, делать переадресацию (редиректы), отключать обработку PHP файлов. Файл «.htaccess» — это текстовый документ, который можно изменить в любом текстовом редакторе. Обычно на хостингах данный файл изначально присутствует в корневой папке сайта. Но вы можете создать несколько файлов «.htaccess» в любых подпапках. Тогда правила будут перезаписываться.Простой редирект через .htaccess
Разберём одну из самых популярных задачу, которую возлагают на файл «.htaccess» — это переадресация посетителя сайта на другую страницу. Откройте файл .htaccess в корневом каталоге сайта и в самом начале, первой строчкой напишите:301 означает, что во время перенаправления пользователя сервер выдаст код ответа 301-«Permanent Redirect», что означает, что документ перенесён на новый навсегда.Redirect 301 / https://mousedc.ru
Некоторые возможные HTTP статусы:
301 — документ перемещен постоянно
302 — документ перемещен временно
303 — смотрите другой документ
403 — документ запрещён к просмотру
404 — документ не найден
410 — документ убран
Redirect 301 /folder/page1.php https://mousedc.ru
— то будет происходить переадресация только в том случае, если пользователь запросит страницу «/folder/page1.php».Последним параметром для Redirect стоит адрес страницы, на которую будет сделано перенаправление. В примере это «https://mousedc.ru».
Редирект с регулярным выражением через .htaccess
Существует возможность сделать редирект по регулярному выражению. То есть в случае, если запрашиваемый адрес подходит под регулярное выражение, то будет происходить редирект:RedirectMatch 301 (.*) https://mousedc.ru$1
Чтобы понять, что происходит в этом коде, рекомендуем прочитать все статьи о регулярных выражениях, начиная с Регулярные выражения в PHP. Если кратко, то образуется карман (.*), значение которого подставляется в самый конец домена, вместо $1 в строке https://mousedc.ru$. В кармане находится относительный адрес запрашиваемой страницы (то есть без домена).Использование регулярного выражения полезно для переадресации обращения к файлам. К примеру, сделаем переадресацию при запросе jpg картинок:
RedirectMatch 301 (.*\.jpg)$ https://mousedc.ru/example.jpg
Изменение адресов и Mod_rewrite
mousedc.ru/product/5/
, а сервер будет возвращать содержание страницы mousedc.ru/product/index.php?id=5
.В конце правила можно заметить квадратные скобки. В эти скобки [ ] ставятся флаги. Можно поставить один флаг, к примеру, [L] и несколько флагов через запятую [NC,R=301,L]. Приведём значения самых популярных из них:
- R — вызывает редирект. Можно казать после этого флага код ответа сервера, например [R=301]
- L — останавливает процесс изменения адреса. Означает, что следующие RewriteRule после этой строчки не будут выполнены
- N — перезапускает преобразование адреса заново, начиная с первого правила. Но на этот раз подставляется адрес, изменённый в процессе проделанных преобразований. Будте осторожны, чтобы не сделать бесконечный цикл
- C — если следующее после этого правило не выполняется, то преобразование будет прервано.products/(.*)$ /products.php [L,R=301] — такое правило может пригодиться, если нужно закрыть давно существующий раздел, но не хочется терять ссылочную массу.
Перенаправление Apache и Nginx | firstvds.ru
Статья давно не обновлялась, поэтому информация могла устареть.
Подключения модуля mod_rewrite
Для включения перенаправления средствами Apache, достаточно чтобы модуль mod_rewrite.so был загружен в Apache.
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
Для того ,чтобы директивы mod_rewrite можно было использовать в .htaccess, надо в конфигурационном файле Apache, в соответствующем разделе «<Directory /путь/до/директории>» прописать:
AllowOverride all
После внесения изменений в конфигурационный файл Apache, для вступления в силу этих изменений, нужно перезапустить веб сервер:
apachectl restart
или
apache2ctl restart
В .htaccess для работы перенаправления нужно указать следующую директиву:
RewriteEngine On
Правила Redirect
Эти директивы вы можете прописывать как в конфиге Apache для нужного virtualhost, так в файле .htaccess.
Redirect или RedirectPermanent
Главный недостаток данных правил заключается в том, что для каждого адреса необходимо прописывать новое правило. Если необходимо сделать несколько редиректов, то каждый новый редирект пишется с новой строки.
Если нужно сделать несколько редиректов, то каждый новый редирект нужно написать с новой строки.
Redirect 301 /old-page.html http://new-domain.ru/new-page.html
или
Redirect permanent /old-page.html http://new-domain.ru/new-page.html
Для перенаправления всех запросов на другой сайт вы можете использовать следующую конструкцию:
Redirect 301 / http://new-domain.ru/
или
Redirect permanent / http://new-domain.ru/
RedirectMatch
Этот редирект отличается тем, что в нем можно использовать регулярное выражение. Например, при переносе сайта с Windows на Linux, необходимо сменить все ссылки с *.php на *.aspx:
RedirectMatch /(.*)\. https://www.domain.com$request_uri? permanent; }
После внесения изменений в конфигурационный файл Nginx, для вступления в силу этих изменений, нужно его перезапустить так:
service nginx restart
301 редирект домена без WWW на домен с WWW или Как сохранить ссылочную популярность сайта с помощью 301 редиректа
Содержание статьи:
Автор: StepForth
Перевод: Всеволод КозловПроблема
Поисковые системы считают сайты http://yoursite.ru/ и http://www.yoursite.ru/ абсолютно разными. Отсюда следует, что если часть сайтов будет ссылаться на http://yoursite.ru/, а другая часть на http://www.yoursite.ru/, то ссылочная популярность Вашего сайта делится между разными доменами, что не есть хорошо. С этим надо что-то делать.
Решение проблемы
Используя 301 редирект, который автоматически будет переадресовывать всех, кто заходит по ссылке, начинающейся с http://yoursite.ru/ на http://www.yoursite.ru/, Вы сможете дать поисковым системам понять, что эти 2 домена являются как бы одним.Таким образом, ссылочная популярность больше не будет распределяться между двумя доменами, а будет считаться общей, что позволит улучшить позиции сайта в поисковых системах.
Как активировать 301 редирект
Чтобы 301 редирект заработал, Вам необходимо подготовить сервер. Современные серверы работают либо с ПО Microsoft, либо Apache (Linux, Unix). Чтобы приступить к настройке 301 редиректа, Вам необходимо узнать, какой у Вас сервер (Microsoft или Apache). После того, как Вы это разузнали, приступайте читать дальше, выбрав нужный раздел данного руководства.
Краткое оглавление руководства:
Так же мы рекомендуем руководство:
301 редирект: Переадресовываем всех со старого домена на новый, полностью сохраняя ссылочную структуру сайта.Установка 301 редиректа домена без WWW на домен с WWW на Apache сервере
1. Прежде всего, убедитесь в том, что на Вашем Apache сервере активен модуль ModRewrite. В основном он активен по умолчанию, но убедиться лишний раз не помешает во избежание проблем в дальнейшем. Если же данный модуль неактивен, то просто свяжитесь со службой поддержки своего хостинг-провайдера и объясните им ситуацию. Проблем при активации данного модуля быть не должно.
Если же у Вас есть доступ к файлу httpd.conf, то Вы сможете активировать данный модуль собственноручно. Для этого откройте данный файл для редактирования (не забудьте сперва сделать его резервную копию) и раскомментируйте следующую строку:
LoadModule rewrite_module modules/mod_rewrite.so
После того, как раскомментируете данную строку, сохраните файл и перезагрузите сервер, чтобы продолжить работать дальше.
3. Сделайте резервную копию данного файла и сохраните ее, по возможности, в другом месте на компьютере.(.*)$ http://example.ru/$1 [R=301,L]
6. Сохраните изменения в файле и загрузите его на сервер.
7. После этого откройте браузер и в адресной строке введите адрес своего сайта без WWW, например http://example.ru/ и зайдите на сайт. Если Вы все сделали правильно, то в адресной строке браузера автоматически произойдет изменение — адрес сайта с введенного Вами сменится на http://www.example.ru/.
8. Но чтобы на 100% быть уверенным в успешности проделанного я Вам советую зайти сюда, ввести адрес сайта без WWW. Данный инструмент покажет Вам, работает ли настроенный Вами 301 редирект или нет. Если Вы все сделали правильно, то должны будете увидеть следующее (особое внимание уделите выделенным жирным участкам кода):
#1 Server Response: http://example.ru
HTTP Status Code: HTTP/1.1 301 Moved Permanently
Date: Wed, 14 Mar 2007 22:49:28 GMT
Server: Apache/1.3.27 (Unix) PHP/4.4.1 FrontPage/5.0.2.2510 mod_ssl/2.8.14 OpenSSL/0.9.6b
Location: http://www.example.ru/
Connection: close
Content-Type: text/html; charset=iso-8859-1
Redirect Target: http://www.example.ru/#2 Server Response: http://www.example.ru/
HTTP Status Code: HTTP/1.1 200 OK
Date: Wed, 14 Mar 2007 22:49:28 GMT
Server: Apache/1.3.27 (Unix) PHP/4.4.1 FrontPage/5.0.2.2510 mod_ssl/2.8.14 OpenSSL/0.9.6b
Connection: close
Content-Type: text/html9. Если у Вас в ключевых (выделенных жирным) местах все сошлось, то все работает!
Если же Вы проделали указанные выше шаги и не добились требуемого результата, то воспользуйтесь резервной копией файла .htaccess – проделайте с ней еще раз все указанные выше шаги, но будьте предельно внимательны. Выверяйте каждый шаг.
Если же и сейчас ничего не получилось, то свяжитесь со службой поддержки своего хостинг-провайдера, объясните им ситуацию и пусть они примут соответствующие меры, нацеленные на решение Вашей проблемы.
Установка 301 редиректа домена без WWW на домен с WWW на Microsoft IIS сервере
Microsoft сервера не имеют файла .htaccess, поэтому Вам будет проще связаться со службой поддержки своего хостинг-провайдера и попросить их решить Вашу проблему. Если же служба поддержки некомпетентна в данном вопросе, то ниже приводится пошаговая инструкция, которую Вы можете им предоставить:
1. Используя Internet Services Manager, создайте новый веб-сайт с уникальным IP, используя http://example.ru или, как альтернатива, можно избежать использования уникального IP, используя виртуальный веб-сайт www.example.ru
2. Теперь проверьте заголовки, отдаваемые сервером для каждого из сайтов, используя данный инструмент. Сервер должен отдавать 200 OK для обоих сайтов.
3. Добавьте следующий код на главную страницу сайта http://example.ru:
< %@ Language=VBScript %>
< %
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", http://www.example.ru
%>ВНИМАТЕЛЬНО! Вносить какие-либо изменения в код нельзя, скопируйте и вставьте его в таком виде, как есть.
4. Чтобы убедиться в работоспособности 301 редиректа, зайдите на сайт http://example.ru. Затем воспользуйтесь данным инструментом для сайта http://example.ru и убедитесь, что в результате проверки есть следующие данные: «HTTP Status Code: HTTP/1.1 301 Moved Permanently». Если Вы такое видите, то у Вас все получилось!
Источник: How to 301 Redirect Non-WWW to WWW URLs
Htaccess редирект с www и без www (301)
Для поисковых систем домен с www и домен без www — это два разных ресурса и для того, чтобы они правильно его воспринимали, индексировали и ранжировали как единое и уникальное целое нужен 301 редирект («перенесен навсегда») с одного домена на другой.(.*)$ http://www.%1/$1 [R=301,L]
</IfModule>Для редиректов отдельных страниц, файлов и даже бана пользователей при помощи htaccess вы можете воспользоваться генератором редиректов.
Важно!
Не забываем, поставив редирект с одного домена на другой, выбрать свой предпочтительный домен в аккаунте Google, а для Яндекса прописать в файле robots.txt директиву: «Host: site.ru».
После переиндексации сайта желательно зайти в панель управления сайтом Яндекс Вебмастер и Google веб мастер и проверить правильно ли проиндексировались страницы, нету ли каких-либо ошибок или недоступных страниц, и только если все в порядке можно спать спокойно — пере адресация настроена правильно и без ошибок.
Читайте также: редиректы домены htaccess
Хостинг закрито!
Місце на SSD диску 5 ГБ 15 ГБ 30 ГБ 50 ГБ 5 ГБ Кількість окремих сайтів і псевдонімів (аліасів), які можна розмістити в рамках одного хостингу Сайтів 1 Ви можете отримати безкоштовний SSL сертифікат для будь-якого домену, розміщеного на хостингу в нашій компанії. SSL cертифікат FREE FREE FREE FREE FREE Віджет зворотнього зв’язку на ваш сайт CallBack сервіс FREE FREE FREE FREE FREE Можливість скористатися конструктором сайтів для простого і швидкого створення сайту-візитки або лендінгу. Конструктор сайтів Ви отримуєте доменне ім’я за 0 грн при замовленні хостингу на 1 або 2 роки. Безкоштовний домен Безкоштовна реєстрація на 1 рік будь-якого доменного імені вартістю до 250 грн при замовленні хостингу на 1 або 2 роки Безкоштовна реєстрація на 1 рік будь-якого доменного імені вартістю до 350 грн при замовленні хостингу на 1 або 2 роки Безкоштовна реєстрація на 1 рік будь-якого доменного імені вартістю до 450 грн при замовленні хостингу на 1 або 2 роки Безкоштовна реєстрація на 1 рік будь-якого доменного імені вартістю до 450 грн при замовленні хостингу на 1 або 2 роки Безкоштовна реєстрація на 1 рік будь-якого доменного імені вартістю до 100 грн при замовленні хостингу на 1 або 2 роки Об’єм оперативної пам’яті, який виділяється на 1 процес php. Даний параметр може істотно впливати на швидкість роботи сайту. PHP memory_limit 512 MB 512 MB 1024 MB 1536 MB 256 MB Автоматична система захисту від DDoS атак позоляет визначати вірусний трафік і блокувати його, при цьому пропускає реальних відвідувачів Захист від DDoS Час роботи технічної підтримки по телефону та по e-mail Технічна підтримка 24/7 24/7 24/7 24/7 24/7 Додаткові інструменти для поліпшення продуктивності сайту, за допомогою кешування контенту і вихідного коду. Memcache / OPcache / Redis Перед покупкою хостингу Ви можете протест увати і переконатися в якості надаваних послуг з розміщення сайтів. Тестовий період становить 10 днів. Тестовий хостинг Спробувати Спробувати Спробувати Спробувати Спробувати 1 місяць
109.8 грн 152.4 грн 226.5 грн 284.1 грн 69.3 грн 3 місяці
303.05 грн
101.02 грн / міс.420.62 грн
140.21 грн / міс.625.14 грн
208.38 грн / міс.784.12 грн
261.37 грн / міс.191.27 грн
63.76 грн / міс.6 місяців
559.98 грн
93.33 грн / міс.777.24 грн
129.54 грн / міс.1155.15 грн
192.53 грн / міс.1448.91 грн
241.49 грн / міс.353.43 грн
58.91 грн / міс.12 місяців
790.56 грн
65.88 грн / міс.1097.28 грн
91.44 грн / міс.1630.8 грн
135.9 грн / міс.2045.52 грн
170.46 грн / міс.498.96 грн
41.58 грн / міс.24 місяці
1528.42 грн
63.68 грн / міс.2121.41 грн
88.39 грн / міс.3152.88 грн
131.37 грн / міс.3954.67 грн
164.78 грн / міс.964.66 грн
40.19 грн / міс.(.*)$ https://%1/$1 [R=301,L] RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]Для htaccess есть сборник сниппетов, на все случаи жизни: https://github.com/phanan/htaccess (en)
Также очень рекомендую прочитать статью про правильный переезд на https.
Да, переехать можно и неправильно.Успехов! Сработал ли у вас редирект, напишите в комментариях.
Нашли опечатку или ошибку? Выделите её и нажмите Ctrl+Enter
Помогла ли Вам эта статья?
(. *) # / $ 1# Сжатие HTML, CSS, JavaScript, текста, XML и шрифтов AddOutputFilterByType DEFLATE application / javascript AddOutputFilterByType DEFLATE application / rss + xml AddOutputFilterByType DEFLATE application / vnd.ms-fontobject AddOutputFilterByType DEFLATE application / x-font AddOutputFilterByType DEFLATE application / x-font-opentype AddOutputFilterByType DEFLATE application / x-font-otf AddOutputFilterByType DEFLATE application / x-font-truetype AddOutputFilterByType DEFLATE application / x-font-ttf AddOutputFilterByType DEFLATE application / x-javascript AddOutputFilterByType DEFLATE application / xhtml + xml AddOutputFilterByType DEFLATE application / xml AddOutputFilterByType DEFLATE font / opentype AddOutputFilterByType DEFLATE font / otf AddOutputFilterByType DEFLATE font / ttf AddOutputFilterByType DEFLATE image / svg + xml AddOutputFilterByType DEFLATE изображение / значок x AddOutputFilterByType DEFLATE text / css AddOutputFilterByType DEFLATE text / html AddOutputFilterByType DEFLATE текст / javascript AddOutputFilterByType DEFLATE текст / простой AddOutputFilterByType DEFLATE текст / xml # Удалите ошибки браузера (требуется только для действительно старых браузеров) BrowserMatch ^ Mozilla / 4 gzip-only-text / html. Mozilla / 4 \.0 [678] без gzip BrowserMatch \ bMSIE! No-gzip! Gzip-only-text / html Добавление заголовка Варьируется User-Agent Параметры -ИндексыМожет ли кто-нибудь помочь мне с этим?
Простой способ перенаправить веб-сайт без www на URL-адрес www
Перенаправление запросов без www на www-версию URL вашего веб-сайта полезно для целей SEO. Это не только поможет вам избежать дублирования контента в индексе Google, но также предотвратит возможность разделения рейтинга страницы и / или разделение входящих ссылок.В этой статье мы узнаем, как перенаправить URL-адреса без www на www с помощью файла .htaccess в папке public_html .
Редактирование файла .htaccess
Чтобы перенаправить URL без www на www, нам нужно поместить правило в файл .htaccess . Вы можете сделать это через FTP, SSH или через панель управления.
Выполните следующие действия, чтобы отредактировать файл .htaccess из hPanel Hostinger:
.- Перейдите в раздел Files и откройте диспетчер файлов .(. *) $ http://www.yourdomain.com/$1 [L, R = 301]
- Не забудьте изменить код, указав свое фактическое доменное имя вместо yourdomain.com. Когда вы закончите, не забудьте сохранить изменений.
Поздравляем, вы успешно активировали правило .htaccess , которое будет перенаправлять всех посетителей с URL без www на версию вашего веб-сайта с www! Было совсем несложно, правда?
Заключение
Вот и все! Завершив это руководство, вы узнали, как перенаправить URL-адреса без www на www.С этого момента, когда кто-то получает доступ к http://yourdomain.com, , они будут перенаправлены на http://www.yourdomain.com.
Надеюсь, это руководство было полезным. Сообщите нам в комментариях ниже, если у вас возникнут какие-либо проблемы.
Меркис — администратор серверов и эксперт по Linux в Hostinger. Он поддерживает все в рабочем состоянии, решая сложные проблемы управления сервером. Кроме того, он большой поклонник технологии блокчейн, веб-разработки и бодибилдинга.
Как перенаправить WWW на не WWW в HTACCESS
Перед запуском нового веб-сайта вам нужно будет принять одно из решений — выбрать между форматом URL с www и без www и перенаправить www на без www или наоборот .
Например, www-версия вашего домена может выглядеть примерно так:
https://www.mydomain.com
С другой стороны, версия без www обычно принимает следующий формат:
https: // mydomain.com или просто mydomain.com
С технической точки зрения — особенно с точки зрения SEO — эти два URL-адреса не совпадают.
Независимо от того, какой формат URL вы выберете, важно, чтобы вы создали правила перезаписи на своем веб-сервере, которые перенаправляют запросы www от посетителей на не-www или, возможно, перенаправляют не-www на www. Это верно независимо от , если ваш веб-сайт работает на выделенном сервере или на сервере Apache .
Если вы застряли и не знаете, какой формат URL выбрать, эта статья — одно из наших текущих руководств по WordPress — поможет вам решить эту проблему.Более того, вы узнаете, как создавать правила перенаправления, редактируя файлы htaccess. Так что держись!
В этой статье:
WWW или не-WWW: что мне выбрать?
По правде говоря, что бы вы ни выбрали, на самом деле это не имеет значения, это не так важно, например, Http to https. Все сводится к вашим личным предпочтениям. Часто большинство веб-мастеров выбирают между nonwww на www или перенаправить www на nonwww исходя из эстетики.
URL-адреса без www короче и часто более привлекательно выглядят на по сравнению с их аналогом с www.Больше ничего нет.
Ни один из них не имеет преимущества SEO перед другим, и ни один из них не имеет более быстрого времени загрузки, чем другой.
Важно указать, какой формат вы предпочитаете, а затем перенаправить посетителей на выбранный вами формат URL.
Как заставить WWW или не-WWW с перенаправлением htaccess
Чтобы отредактировать файл htaccess, вам потребуются средства доступа к нему. Самый простой способ получить доступ к файлу .htaccess и отредактировать его — через cPanel. Большинство планов хостинга серверов поставляются с cPanel, но если у вас его нет, обратитесь в свою хостинговую компанию WordPress.
Мы покажем вам, как скоро.
Перенаправить www на Non www с помощью cPanel
Во-первых, войдите в свою панель управления cPanel. Чтобы узнать больше о cPanel и о том, как получить доступ к URL-адресу для входа, прочтите нашу подробную статью о cPanel.
После входа в систему нажмите Диспетчер файлов
Затем прокрутите вниз до раздела public_html и дважды щелкните по нему.
После двойного щелчка вы увидите файл .htaccess.
Если это случилось, вы не смогли найти файл .htaccess, скорее всего, он скрыт. Чтобы отобразить скрытый файл, нажмите кнопку Настройки в правом верхнем углу экрана. Как только вы нажмете кнопку, откроется диалоговое окно. В поле установите флажок Показать скрытые файлы точек и нажмите Сохранить.
Теперь вы должны увидеть файл .htaccess.
Щелкните его правой кнопкой мыши и Редактировать . Вам будет предложено подтвердить, хотите ли вы отредактировать файл.yourdomain.com/$1 [L, R = 301]
Не забывай экономить. На этом все готово.
Заключение
Чтобы избежать проблем с дублированием контента и , следовательно, плохой производительности SEO , всегда важно указать, хотите ли вы использовать URL-адрес с www или версию без www. Когда вы выбрали, что лучше всего подходит для вашего бизнеса, следующая задача — принудительно перенаправить на выбранную вами версию.
В этой статье мы показали вам, как это легко сделать.Если у вас есть какие-либо вопросы, не стесняйтесь обращаться к нам.
Прочитайте больше полезных статей:Перенаправление запросов посетителей с помощью файла .htaccess — Документация по продукту Acquia
.htaccess вашего веб-сайта файл определяет, как посетители вашего сайта получают доступ к вашему сайту, и может быть настроен для обработки различных сценариев посетителей. Некоторая конфигурация методы, которые вы можете использовать с файлом
.htaccess
, размещенным на Acquia, включают следующие:Внесение изменений в ваш.htaccess требует знания Git.
При реализации перенаправления в файле
.htaccess
помните о следующие лучшие практики:Поместите следующие примеры кода сразу после
RewriteEngine В строке
в файле.htaccess
.Включите следующую строку в свой код перезаписи, чтобы исключить Acquia домены по умолчанию:
RewriteCond% {HTTP_HOST}! \. Acquia-sites \.com [NC] # исключить домены Acquia
Слишком много перенаправлений может вызвать незначительные или серьезные проблемы с производительностью вашего Веб-сайт. Каждый запрос страницы должен соответствовать правилам перенаправления, требующим добавлено время загрузки для каждого запроса. Acquia рекомендует регулярные обзоры правил консолидации и удаления в рамках вашего обычного обслуживания практики.
Редиректы не сохраняют информацию отслеживания кампании Google. Если вы полагаетесь на этой информации, убедитесь, что ваши ссылки не полагаются на Acquia перенаправления на стороне инфраструктуры.Подписчики Cloud Platform Enterprise могут использовать пользовательский файл VCL для изменить это поведение.
Дополнительные сведения о правилах перезаписи
.htaccess
см. В разделе Введение в htaccess правила перезаписи.Перенаправляет на сайт Factory
ПодпискиSite Factory должны изменять примеры, приведенные на следующая страница, например:
- При тестировании
AH_SITE_ENVIRONMENT
вам могут потребоваться другие значения. чемprod
для имен сред, например_01live
или01live
. - Использование доменных имен по умолчанию
acsitefactory.com
вместоacquia-sites.com
.
Вы можете изменить файл
.htaccess
своего приложения, чтобы посетители запросить URL вашего приложения без поддоменаwww
, запрос перенаправляет на поддоменwww
. Например, запросы кhttp://example.com
перенаправит наhttp://www.example.com
.Следующие строки в вашем приложении Drupal
.(. *) $ http: //www.% {HTTP_HOST}% {REQUEST_URI} [L, R = 301]
Для веб-сайтов, размещенных на Acquia, безопасные HTTPS-соединения заканчиваются при загрузке уровень балансировщика, который может вызвать общие рецепты
.htaccess
для HTTPS перенаправляет, чтобы не работать должным образом. Начиная с моделиX-Forwarded-Proto
Заголовок лака указывает в веб-инфраструктуру, если запрос пришел через HTTPS, вы должны подтвердить заголовок в ваших условиях перезаписи.Примеры в каждом из доступных методов перенаправления используют флаги правила перезаписи.(. *) $ http: //% {HTTP_HOST}% {REQUEST_URI} [L, R = 301]
Чтобы заставить весь трафик использовать как домен
www,
, так и SSL (даже если изначально запрошено), используйте следующие правила:Важно
Если у вас есть другие сайты, которые вы не хотите перенаправлять на
www
домен, вы должны их исключить. Следующий фрагмент показывает, как исключить сайты домена Acquia и сайты предварительной версии Cloud IDE. из этого правила. Для получения дополнительной информации см. Введение в перезапись htaccess. правила.(. *) $ https://www.domain.net/$1 [R = 301, L]Acquia рекомендует размещать эти правила после других перенаправлений, например Перенаправление всего HTTP-трафика на HTTPS или Перенаправление всего трафика на чистый домен SSL. / (en | fr) (/ en | / fr) + / (.*) $ / 1 / $ 3
Чтобы исключить домены Acquia по умолчанию из ваших перенаправлений, или определенные среды (например, Dev и Stage), добавьте одно или несколько из следующих условные обозначения в начало любой группы правил перезаписи:
RewriteCond% {ENV: AH_SITE_ENVIRONMENT} prod [NC] # only prod RewriteCond% {ENV: AH_SITE_ENVIRONMENT}! Prod [NC] # not prod # исключить домены Acquia RewriteCond% {HTTP_HOST}! \. Acquia-sites \ .com [NC] # exclude сайты предварительного просмотра Acquia Cloud IDE RewriteCond% {HTTP_HOST}! \.(. *) $ https: //% {HTTP_HOST}% {REQUEST_URI} [L, R = 301]
Предыдущие примеры того, как и когда вы могли бы использовать перезапись, сложны. Вот разбивка сценариев, которые могут помочь вам определить, какие у вас потребности веб-сайта.
Предупреждение системы безопасности появится на пустом домене только в том случае, если запрос специально включает протокол HTTPS (например,
https://example.com
), а загрузка балансировщик, покрывающий голый домен, не содержит сертификата SSL. Запрос наhttp: // example.com
с использованием протокола HTTP не будет обеспечивать безопасность предупреждение, потому что не запрашивалось безопасное соединение с пустым доменом.Домен Тип записи DNS IP / имя хоста www.example.com
CNAME dc–0000–000000000.us-east-1.elb.amazonaws.com example.com
А 123.45,67,89 Для облачной платформы запись CNAME для
www.example.com
указывает на хост имя эластичного балансировщика нагрузки, в котором пользовательский интерфейс самообслуживания устанавливает сертификат SSL. Голые домены / не полные доменные имена, такие какexample.com
не могут иметь записи CNAME без службы как Route 53. Из-за ограничения домен должен указывать на эластичный IP-адрес балансировочная пара за эластичным балансировщиком нагрузки (ELB).Если файл
.Файл .htaccess
содержит перенаправление, принимающее все запросы на голый домен и перенаправить их наwww
, из-за того, как записи DNS настроен, следующий процесс произойдет, если вы запроситеhttp://example.com
:- Запрос
http://example.com
попадает в балансировщики нагрузки ELB. - Правило 301
.htaccess
перенаправляет запрос наhttps://www.example.com
. - Новый запрос на
https: // www.example.com
попадает в ELB (где сертификат существует), и процедура завершается, как ожидалось.
Если вы отправляете конкретный запрос на
https://example.com
с HTTPS протокол, происходит следующее:- Запрос
https://example.com
попадает в балансировщики нагрузки за ELB. - В вашем браузере отображается обычное предупреждение системы безопасности.
- Вы изучаете сертификат и решаете двигаться дальше.
- Модель
.htaccess
правило 301 перенаправляет запрос наhttps://www.example.com
. - Новый запрос на
https://www.example.com
попадает в ELB (где сертификат существует), и процедура завершается, как ожидалось.
В зависимости от типа подписки Cloud Platform может быть больше требования или шаги по удалению предупреждения системы безопасности:
Cloud Platform Professional
Cloud Platform Professional использует общие балансировщики, поэтому вы должны использовать голый доменная служба (например, Route 53 или CloudFlare), чтобы удалить предупреждение системы безопасности.Голый службы домена позволяют использовать запись CNAME для чистого домена и укажите пустой домен на имя хоста ELB.
Облачная платформа Enterprise
Acquia рекомендует загрузить сертификат SSL, покрывающий все необходимые домены, как описано в разделе Управление сертификатами SSL, или используйте другой простой доменный сервис, такой как Route 53 или Cloudflare.
Перенаправить без www на www или с www на без www
Перенаправление запросов из нежелательного домена важно, потому что поисковые системы рассматривают URL-адреса с www и без него как два разных веб-сайта.
Создает повторяющуюся запись, что не подходит для SEO.
Я заметил это, когда проанализировал свой сайт с помощью инструмента SEO и решил поделиться им со всеми вами.
Существует множество способов перенаправить не-www на www или с www на не-www. Давайте посмотрим, как это сделать проще всего.
Apache HTTP
Если вы используете HTTP-сервер Apache, вы можете выполнить это перенаправление через
.htaccess
или изменивhttpd.yoursite.com RewriteRule (. *) Https://www.yoursite.com/$1 [R = 301, L]
Сохраните файл и перезапустите Apache, если использовался метод httpd.conf.
Nginx
Для перенаправления с www в Nginx вы можете добавить следующий код в файл
nginx.conf
в блокеserver
.вернуть 301 $ scheme: //yoursite.com$request_uri;
Следующий пример предназначен для перенаправления с www на не www.
сервер { имя_сервера www.geekflarelab.com; вернуть 301 $ scheme: //geekflarelab.com$request_uri; }
И код ниже предназначен для перенаправления с www на не-www.
сервер { имя_сервера geekflarelab.com; вернуть 301 $ scheme: //www.geekflarelab.com$request_uri; }
Сохраните файл и перезапустите сервер Nginx.
Cloudflare
Реализовать перенаправление очень просто, если вы используете Cloudflare. Вы можете использовать правила страницы для реализации перенаправления.
- Войдите в Cloudflare и выберите сайт, на котором хотите разместить перенаправление
- Перейдите на вкладку Правила страницы и создайте новое правило
- Введите URL-адрес и выберите настройку «URL-адрес пересылки».
- Выберите код состояния (301, если вы хотите, чтобы он был постоянным)
- Введите цель, на которую вы хотите перенаправить
- Следующее правило - перенаправить все с https://www.geekflare.com на https://geekflare.com
- По завершении нажмите «Сохранить и развернуть» .
И через минуту перенаправление на ваш сайт будет запущено.
Заключение
Надеюсь, это поможет вам настроить перенаправление так, как вы хотите. Если вы используете WordPress и хотите перенаправить больше, чем www, ознакомьтесь с этой статьей, чтобы обработать перенаправление в WP.
Как настроить 301 редирект с помощью .htaccess
Постоянное перенаправление 301 постоянно перенаправляет один URL-адрес на другой. Вы настраиваете переадресацию 301 с помощью .htaccess, чтобы отправлять посетителей на новый URL-адрес и сообщать поисковым системам, что страница перемещена, чтобы новая страница могла быть правильно проиндексирована.
Некоторые распространенные варианты использования 301 редиректа с .htaccess:
- После перехода на новый домен вы можете использовать перенаправление 301 на старый домен для отправки посетителей на новый сайт.
- После перемещения старых страниц сайта в новую структуру сайта вы можете использовать переадресацию 301 для отправки пользователей на новые страницы.
- После объединения двух сайтов вы можете использовать переадресацию 301, чтобы посетители переходили на новые страницы.
На сайтах HostPapa используйте файлы .htaccess для создания перенаправлений и управления ими.Вы можете создать файл .htaccess с помощью диспетчера файлов в cPanel или с помощью FTP для загрузки файла .htaccess, созданного с помощью текстового редактора на вашем компьютере.
Примечание. Файл .htaccess - это скрытый файл, поэтому вам потребуется настроить диспетчер файлов cPanel или FTP-клиент, чтобы отображать скрытые файлы в вашей системе. Следуйте приведенным ниже инструкциям, чтобы узнать, как это сделать.
Совет разработчика: Если сайт не работает после обновления или добавления файла .htaccess, восстановите функциональность сайта, переименовав или удалив файл.
Код для перенаправления на страницу
Поместите следующую строку в ваш файл .htaccess (повторите для каждой страницы, которую вы хотите перенаправить).
RedirectPermanent http://www.domain.com/old-file.html http://www.domain.com/new-file.html
Код для перенаправления на новый домен
Поместите в файл .htaccess следующую строку:
RedirectPermanent / http://www.new-domain.com/
Как реализовать файл .htaccess с помощью файлового менеджера cPanel
Файловый менеджер cPanel обеспечивает простой способ создания или доступа к файлу.htaccess файл. Вот как:
-
- Перейдите в cPanel HostPapa.
- В разделе Files панели cPanel щелкните File Manager .
- Файловый менеджер откроется в новой вкладке. Нажмите кнопку Settings вверху справа.
- В окне Preferences установите флажок Show Hidden Files . Нажмите кнопку Сохранить .
- В окне диспетчера файлов теперь отображаются все файлы, включая скрытые.На панели Files дважды щелкните элемент public_html .
- Теперь отображается содержимое папки public_html. Здесь будет находиться ваш файл .htaccess. Файла .htaccess пока нет, поэтому вам нужно создать его для нового сайта.
- Нажмите кнопку + File в верхнем левом углу.
- В окне New File введите .htaccess в качестве имени файла.
- Щелкните Create New File .
- The.htaccess появится в списке.
- Щелкните один раз на файле .htaccess , чтобы выбрать его, затем щелкните Edit .
- В диалоговом окне Text Editor прокрутите вниз и убедитесь, что выбрано utf-8 .
- Нажмите кнопку Edit .
- Текстовый редактор открывается в новой вкладке. Окно будет пустым, так как это новый файл. Введите код перенаправления страницы или доменного имени, как описано выше.
- Когда вы закончите редактировать файл.htaccess, нажмите кнопку Сохранить изменения в правом верхнем углу окна текстового редактора.
- Теперь вы можете закрыть вкладку «Текстовый редактор».
Как реализовать файл .htaccess с помощью FTP
Для реализации файла .htaccess с использованием FTP:
- Создайте файл .htaccess на своем компьютере с помощью текстового редактора.
- Добавьте код перенаправления страницы или домена, как описано в начале этой статьи.
- Используйте свой FTP-клиент для доступа к вашему сайту.Убедитесь, что ваш FTP-клиент настроен на просмотр скрытых файлов.
- Перейдите в каталог public_html .
- Загрузите новый файл .htaccess в каталог public_html.
- Когда загрузка будет завершена, выйдите из FTP-клиента.
Если вам нужна помощь с вашей учетной записью HostPapa, пожалуйста, откройте заявку в службу поддержки на своей панели управления.
Как перенаправить www на не-www в Apache htaccess
Иногда вам может потребоваться перенаправить URL-адреса с www на URL-адреса без www для вашего веб-сайта для получения преимуществ SEO.Вот как перенаправить www на не-www в Apache htaccess. Вы можете использовать эти шаги, чтобы убедиться, что в Интернете доступна только одна версия вашего веб-сайта (без www).
Как перенаправить www на не-www в Apache htaccess
Вот шаги для перенаправления www на не-www в файле Apache htaccess. Убедитесь, что вы включили mod_rewrite в конфигурации вашего веб-сервера Apache. Только тогда ваша конфигурация htaccess будет применена сервером Apache.
Если вы включили htaccess с помощью mod_rewrite, вы можете перейти к шагу 4.
1. Включить mod_rewrite
Откройте терминал и выполните следующую команду, чтобы включить mod_rewrite в системах Ubuntu / Debian. Он уже включен в системах CentOS / Redhat.
$ sudo a2enmod переписать
Если mod_rewrite уже включен, вы увидите предупреждающее сообщение.
Перезагрузите веб-сервер Apache
$ sudo systemctl перезапуск apache2
Бонусное чтение: как перенаправить URL-адрес на другой URL-адрес
2.Включите .htaccess в Apache Server
По умолчанию Apache не разрешает использование файла .htaccess. Итак, откройте файл конфигурации сервера Apache по умолчанию
$ sudo vi /etc/apache2/sites-available/000-default.conf
Добавьте следующие строки непосредственно перед строкой .
Параметры Индексы FollowSymLinks MultiViews AllowOverride All Требовать все предоставлено Перезагрузите веб-сервер Apache
$ sudo systemctl перезапуск apache2
Бонусное чтение: Как перенаправить все страницы на новый домен
3.Создать файл .htaccess
Откройте терминал и создайте файл .htaccess
$ sudo vi /var/www/html/.htaccess
Не забудьте добавить следующую строку вверху файла .htaccess
RewriteEngine на
Бонусное чтение: перенаправление сайта на другой домен в Apache
4. Перенаправить www на не-www в Apache htaccess
Допустим, вы хотите перенаправить все URL-адреса с www.example.com на example.com
Добавьте следующие строки в свой файл htaccess.(. *) $ http://example.com/$1 [L, R = 301]
В приведенных выше строках директива RewriteCond проверяет значение HTTP_HOST каждого запроса. Если он начинается с www.example.com , то директива RewriteRule перенаправляет его на example.com вместе с исходной строкой URL. Если вы хотите перенаправить только временно, используйте R = 302 выше вместо R = 301.
Бонусное чтение: как перенаправить домен без изменения URL-адреса
5. Перезапустите сервер Apache
Перезагрузите веб-сервер Apache
$ sudo systemctl перезапуск apache2
Теперь ваш веб-сервер Apache будет автоматически перенаправлять URL-адреса www на URL-адреса без www.
Ubiq позволяет легко визуализировать данные за считанные минуты и отслеживать их на информационных панелях в реальном времени.