Удаление WWW из адреса сайта. Файл .htaccess.
496
Удаление WWW из адреса сайта.
Файл — .htaccess.
Часто после подключения SSL-сертификата адрес сайта принимает неправильный вид, в него вклинивается WWW, чего не должно быть. Здесь я расскажу, как можно удалить WWW из адреса сайта через файл .htaccess.
***
Допустим мы имеем имя домена – user.ru. Тогда после установи SSL сертификата адрес сайта должен принять такой вид:
https://user.ru.
Однако иногда адрес получается вот таким:
https://www.user.ru.
Причины, по которым это происходит я назвать не могу. Могу только рассказать, как привести адрес к нормальному виду.
На самом деле оба указанных адреса существуют одновременно. Но поисковикам не нравится такая ситуация. Они считают, что у одного ресурса должен быть один адрес.
Вот какой скриншот прислал один из участников проекта.
Рис. 1
В общем ясно. Никакого WWW в адресе быть не должно!
Как это сделать?
В тексте на приведённом выше скриншоте предлагается настроить редиректы.
По-русски это означает – перенаправление, перенаправление с одного адреса на другой.
В библиотеке плагинов WordPress есть плагины, специально предназначенные для этих целей, например – плагин Redirection. Но в данной ситуации эти плагины нам не помощники.
Итак, кликнем по вышеприведённой ссылке, главное окно инструкции откроется в новом окне браузера, Рис. 2.
Рис. 2
Здесь видим, что редирект будет произведён через файл – .htaccess. Этот файл находится в корневом каталоге сайта.
Нам нужна ссылка, которая находится во второй строке – 301 редирект с домена с WWW на домен без WWW. Кликнем по ней. Откроется окошко, содержащее HTML-код, Рис. 3. Привожу здесь выделенный на рисунке код.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
Рис. 3
Здесь я рекомендую выделенный код скопировать и вставить в блокнот Windows. Затем в блокноте заменить site.ru на имя Вашего домена.
Далее открываем в Панели управления хостингом: Менеджер файлов → WWW → Ваш домен, откроется корневой каталог домена, Рис. 4.
Рис. 4
Находим файл с именем .htaccess. Откроем его двойным щелчком, Рис. 5.
Рис. 5
Вставим текст из блокнота ниже того текста, который уже имеется в файле. Нажмём Сохранить.
После этих манипуляций в адресе Вашего сайта должно пропасть WWW.
Если этого не произошло остаётся одно – обратиться в службу поддержки.
b-valery.ru
Как убрать www из адреса Вашего сайта
8
38
Вы наверно уже обратили внимание, что в Интернете не все URL сайтов имеют в названии приставку www.
На сегодняшний день в Рунете чаще встречаются URL сайтов без www., а в Европе наоборот, с приставкой www.
На самом деле от приставки www. никакой пользы нет. Это, скорее всего, лишь дань традиции. Но, у сайтов с www. есть свои небольшие минусы. А именно: ссылки на сайт с www. и без www. считаются поисковыми системами как ссылки на разные домены. Соответственно, такие параметры как тИЦ и PR считаются для каждого домена в отдельности.
Согласитесь, что легче было бы продвигать сайт без www., т.к. на некоторых сайтах ссылки обрезаются и остаются в конечном итоге без приставки www. В таком случае (когда на другом сайте ссылка была обрезана) передаваемый тИЦ может достаться другому домену (без www., хотя по сути, это тот же самый наш сайт). В случае, когда мы продвигаем сайт без www., такого казуса с обрезанием URL не произойдет, и параметры тИЦ и PR будут считаться только для одного продвигаемого домена (нашего сайта без www.).
Для того чтобы убрать www из адреса Вашего сайта, предлагаем Вам в корневой папке создать файл .htaccess (именно с названием .htaccess, а не с расширением) и прописать в нем следующие строки:
Цитата:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^usefulscript.ru$ [NC]
RewriteRule ^(.*)$ http://usefulscript.ru/$1 [R=301,L]
Не забудьте заменить usefulscript.ru на название домена Вашего сайта!
https://pedant-perm.ru
Дата создания: 19:52:08 21.06.2011 г.
Дата обновления: 22:36:47 08.03.2012 г.
Посещений темы: 18342 раз(а).
Перед публикацией все комментарии проходят обязательную модерацию!
Если Вы хотите задать какой-либо вопрос, то лучше сделайте это на нашем форуме.
Таким образом, Вы сможете быстрее получить ответ на интересующий Вас вопрос.
usefulscript.ru
Полезные .htaccess правила | 2Coders
Иногда, при создании/редактировании .htaccess’a возникает необходимость изменить/добавить какое-либо правило. Но, не всегда помнишь точный синтаксис. И для того, чтобы не спрашивать каждый раз гугл, я собрал небольшую подборку чрезвычайно полезных и часто используемых правил и решений.
Убрать www из урла
Для удобства или для SEO, вы можете захотеть убрать (или использовать) www в адресе вашего сайта. Приведенный код убирает www из урла сайта и перенаправляет на адрес вида http://mysite.ru.
RewriteEngine On RewriteCond %{HTTP_HOST} !^mysite.ru$ [NC] RewriteRule ^(.*)$ http://mysite.ru/$1 [L,R=301]
Автоматически устанавливать файлам кодировку utf-8
Один из вариантов избежать проблем с кодировкой — это создать .htaccess с таким содержанием:
<FilesMatch "\.(htm|html|css|js)$"> AddDefaultCharset UTF-8 </FilesMatch>
Убрать расширение файла
Расширения файлов могут быть полезны для разработчиков, но они абсолютно не нужны обычным посетителям вашего сайта. Приведенный ниже код удаляет .html расширение у всех html-файлов.
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.html -f RewriteRule ^(.*)$ $1.html # Вместь html может быть любое другое расширение: php, htm, asp
Запись php ошибок в лог-файл
Интересный способ записи ошибок выполнения скрипта. Просто создайте файл php_error.log у вас на сервере и укажите до него путь в последней строке кода.
php_flag display_startup_errors off php_flag display_errors off php_flag html_errors off # log to file php_flag log_errors on php_value error_log /location/to/php_error.log
Перенаправление со старого домена на новый
Перенаправляем посетителей со своего старого сайта на новый, используя 301 редирект.
RewriteEngine On RewriteRule ^(.*)$ http://www.newsite.ru/$1 [R=301,L]
Изменяем некоторые системные значения
Данный трюк может срабатывать не всегда.
#Увеличиваем максимальный размер загружаемого файла php_value upload_max_filesize 100M #Увеличиваем максимальный размер файла передаваемого пост-запросом php_value post_max_size 100M #Увеличиваем время выполнения скрипта php_value max_execution_time 700
Удалить подраздел/категорию из урла
Для того, чтобы изменить урл вида: http://site.ru/category/seo на http://site.ru/seo, дописываем в .htaccess следующий код.
RewriteRule ^category/(.+)$ http://www.yourdomain.com/$1 [R=301,L]
Свои страницы с ошибками (404, 403, 500, etc.)
Не нравятся дефолтные страницы с ошибками? Просто создайте для каждой ошибки свой html-файл и пропишите в .htaccess следующий код.
ErrorDocument 400 /errors/badrequest.html ErrorDocument 401 /errors/authrequest.html ErrorDocument 403 /errors/forbidden.html ErrorDocument 404 /errors/notfound.html ErrorDocument 500 /errors/servererror.html
Запрет выполнения php-скриптов
Данный код может быть очень быть полезен там, где вы храните файлы или картинки. Только, нужно запретить перезаписывать .htaccess.
php_flag engine off
Защита от хотлинкинга
Хотлинк — это включение в веб-страницу файлов-изображений или других ресурсов с чужого сервера. Для избежания этого злостного деяния используем следующий код.
RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.ru/ [NC] RewriteCond %{HTTP_REFERER} !^$ RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]
Теги: .htaccess
2coders.ru
Файл .htaccess: правильное использование, примеры и рекомендации
Что такое .htaccess?
Файл .htaccess (англ. hypertext access) используется для простой и удобной настройки веб-сервера на котором хранится сайт пользователя. Соответственно меняя настройку веб-сервера, мы сможем поменять работу сайта. Как правило, файл .htaccess находится в корневом каталоге, а его действие распространяется на весь сайт и на все подкаталоги. Если же в другом каталоге содержится свой .htaccess, то он будет действовать только на свой каталог и подкаталоги.
Важно! Изменяя файл .htaccess можно очень нарушить работу сайта, а также необдуманные действия с ним могут не иметь видимых последствий, но повлечь за собой снижение позиций в поисковых системах, либо полную их потерю. Поэтому мы рекомендуем перед любыми изменениями файла сохранять его копию, чтобы иметь возможность вернуть прежние настройки.
Где находиться файл .htaccess?
Обычно он располагается в коневом каталоге сайта. Иногда, в различных CMS может находится файл htaccess.txt, который никак не воспринимается сервером и ни на что не влияет. Чтобы он начал работать нужно его переименовать в .htaccess. Если это не получится сделать на вашем компьютере, то зайдите на свой сервер через FTP-клиент, и переименуйте файл прямо сервере.
Редактировать файл на компьютере можно с помощью любого текстового редактора, но чтобы избежать возможных проблем с кодировкой мы рекомендуем использовать для этого Notepad++.
Как проверить работает ли .htaccess?
Все просто, напишите в первой строчке этого файла любое слово (например YAROBOT), сохраните файл и замените им находящийся на сервере. Если сайт продолжит работать, то .htaccess в данный момент не работает. Если же появится ошибка 500 Internal Server Error, то это значит, что веб-сервер не смог понять команду (YAROBOT) и выдал ошибку. Этот факт подтвердит, что работа .htaccess на сервере поддерживается и включена в данный момент. Чтобы вернуть сайту работоспособность удалите строчку с YAROBOT.
Далее мы поговорим о всем полезном, что можно сделать с помощью данного файла.
- Редирект между страницами или сайтами + изменение URL
- Обработка ошибок
- Настройка безопасности сайта
- Кодировка страниц сайта
- Оптимизация работы сайта
- Настройка PHP
Правильный 301 редирект через файл .htaccess
Важно! Если вы хотите, чтобы ваш редирект работал, нужно перед строками, которые рекомендуются ниже по тексту, обязательно прописать
RewriteEngine On
301 Редирект с одной страницы на другую (или сайт)
Для этого в файл .htaccess вносим следующие строки:
Redirect 301 /старая-страница.html http://сайт.рф/новая-страница.htmlили
RedirectPermanent /старая-страница.html http://сайт.рф/новая-страница.html
301 Редирект с www-сайта на сайт без www
Например перенаправление с http://www.site.com на http://site.com. Это очень полезная вещь, часто используется в СЕО
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]
Обратный редирект с домена без www на домен с www
Перенаправление с http://site.com на http://www.site.com (не советуем использовать)
Options +FollowSymLinks
RewriteEngine On
Re
ru.hostings.info
301 редирект сниппеты для .htaccess / likes 18 / блог студии Клондайк!
Для большинства проектов нашей студии приходится использовать SEO редиректы, поскольку движки сайтов не в состояние учесть некоторые моменты, или же требуется действительно исправить существующую ситуацию с урлами.Как показала практика даже программисты плохо понимают суть работы 301 редиректа, по сему пришлось написать стандартны снипет для .htaccess
Я только вкратце опишу их, поскольку описал каждую строчку кода. Задача которые решает данный сниппет достаточно простые, но они собраны и отдебажены по мере возможности.
Активация канонических директив
- Установить основное зеркало сайта с www или без него
- Удалить любое количество «/» стоящих рядом до 1 («///» → «/»)
- Удалять «/» в конце URL если это файл
- Добавлять «/» в конце URL если его там нет и это не файл
- Удалить из URL index.php
Последовательность установки
- Вставить код в начале .htaccess
- При вставке требуется указать правильное зеркало сайта, раскоментировав нужное
- Удалить старый redirect перенаправление на основное зеркало.
- Проверить все новые redirect(ы) на правильную работу в условиях данного проекта.
Стандартные директивы
RewriteEngine On # Директива включает редиректы. RewriteBase /Без директивы (.*) = /$1 будет /var/wwww/site/web/$1 с директивой = /$1 Options +FollowSymLinks # Разрешает переход по символическим ссылкам.
Перенаправляем протокол https на http
RewriteCond %{HTTPS} on # Проверяем наличие https в URL. RewriteRule ^.*$ http://%{SERVER_NAME}%{REQUEST_URI} # Перенаправляем протокол на http.
Удалить www
# 1. Редирект с www на без www. (раскоментировать директивы пункта 1) # RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] # Проверяем, содержит ли домен www (в начале URL). # RewriteRule ^(.*)$ http://%1/$1 [R=301,L] # Перенаправляем URL на домен без www.
Добавить www
RewriteCond %{HTTP_HOST} !^www\.(.*) [NC] # Проверяем, не содержит ли домен www (в начале URL). RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] # Перенаправляем URL на домен c www.Убираем повторяющиеся слеши (/) в URL
Удалить повторяющиеся слеши в URL если их блольше чем 1
RewriteCond %{THE_REQUEST} // # Проверяем, повторяется ли слеш (//) более двух раз. RewriteRule .* /$0 [R=301,L] # Исключаем все лишние слеши.
Убираем слеши в конце URL для статических файлов (содержит точку)
RewriteCond %{REQUEST_URI} \..+$ # Если файл содержит точку. RewriteCond %{REQUEST_FILENAME} !-d # И это не директория. RewriteCond %{REQUEST_FILENAME} -f # Является файлом. RewriteCond %{REQUEST_URI} ^(.+)/$ # И в конце URL есть слеш. RewriteRule ^(.+)/$ /$1 [R=301,L] # Исключить слеш.
Добавляем слеш(/), если его нет, и это не файл.
RewriteCond %{REQUEST_URI} !(.*)/$ # Если слеша в конце нет. RewriteCond %{REQUEST_FILENAME} !-f # Не является файлом. RewriteCond %{REQUEST_URI} !\..+$ # В URL нет точки (файл). RewriteRule ^(.*)$ $1/ [L,R=301] # Добавляем слеш в конце.
Убираем index.php, если он есть в конце URL
RewriteCond %{REQUEST_METHOD} =GET # Выявляем GET запрос в URL (не POST). RewriteCond %{REQUEST_URI} ^(.*)/index\.php$ # URL cодержит index.php в конце. RewriteRule ^(.*)$ %1/ [R=301,L] # Удалить index.php из URL.
Перенаправляет все содержимое каталогов http://site.ru/dir1/любое/любое → в http://site.ru/ dir2 /любое/любое .
RewriteCond %{REQUEST_URI} ^/dir1/(.*)$ # если строка начинается с /dir1/ RewriteRule ^(.*)$ /dir1%1 [R=301,L] #Перенаправить все урлы с начинающиеся с dir1 на dir2 с сохранением дальнейшей структуры URL
Перенаправляет все содержимое каталогов/любое/dir1/любое/любое → в /любое/dir2/любое/любое
RewriteCond %{REQUEST_URI} ^(.*)/dir1/(.*)$ # если строка содержит /dir1/ RewriteRule ^(.*)$ %1/dir2/%2 [R=301,L] #Перенаправить все урлы с начинающиеся с dir1 на dir2 с сохранением дальнейшей структуры URL
Редирект диапазона цифр например n99-n120
Как ни странно пришлось подумать, ибо просто регуляркой это задать не получится.
RewriteCond %{REQUEST_URI} ([0-9]{1,}) [NC] # в урле содержатся цифры от 0 не менее 1 RewriteCond %1 >99 RewriteCond %1 <120 RewriteRule ^(.*)$ %1 [R=301,L]
Обратите внимание что используется % а не $
Перенаправляет все урлы со старого домена и всех под доменов на главную страницу нового!
RewriteCond %{HTTP_HOST} ^(.*)olddomain\.ru$ [NC] # Проверяем является ли оканчивается ли домен на olddomain.ru RewriteRule ^(.*)$ http://newdomain.ru [R=301,L] # перенаправляет все урлы на главнуюПеренаправление robots.txt на robot.php
RewriteCond %{REQUEST_FILENAME} robots.txt RewriteCond %{DOCUMENT_ROOT}/robots.php -f RewriteRule ^(.*)$ /robots.php [L]
Постарался описать каждую строчку, так же файл можно скачать целиком.
klondike-studio.ru
Как убрать редирект | REG.RU
Способ отключения редиректа зависит от того, каким образом вы его добавили: Редиректы.
Как удалить редирект в панели управления
Чтобы убрать редирект через панель управления веб хостингом, откройте панель управления хостингом и выполните дальнейшие действия:
-
1.
Перейдите в раздел WWW-домены, выберите домен, для которого настроено перенаправление, и кликните значок Редиректы:
-
2.
На открывшейся странице выберите строку с нужным редиректом и нажмите Удалить:
-
1.
Перейдите в раздел Домены — Перенаправления:
-
2.
В списке Текущие перенаправления выберите нужную строку и нажмите напротив кнопку Удалить:
-
3.
Подтвердите отключение, нажав кнопку Отменить перенаправление:
Отключить редирект в панели Parallels Plesk Onyx 17 можно только при удалении домена с редиректом: Как удалить домен в панели управления хостингом. Затем нужно добавить тот же домен: Как добавить домен в панели управления. При добавлении в пункте Тип хостинга обязательно выберите в раскрывающемся списке Хостинг веб-сайтов (а не Перенаправление):
Как убрать редирект в .htaccess
Чтобы отключить данный редирект, перейдите в каталог сайта, откройте файл .htaccess и удалите строки, с помощью которых задавался ваш тип редиректа: Редирект через .htaccess. Затем сохраните изменения.
Например, вы добавили 301 редирект с одного домена на другой. В таком случае в файле .htaccess удалите строки:
RewriteCond %{HTTP_HOST} old-site.ru
RewriteRule (.*) http://new-site.ru/$1 [R=301,L]
где:
- old-site.ru — домен, с которого происходит редирект,
- new-site.ru — домен, на который происходит редирект.
Как убрать редирект в web.config
Чтобы отключить данный редирект, перейдите в каталог сайта, откройте файл web.config и удалите строки, с помощью которых задавался ваш тип редиректа: Редирект через web.config. Затем сохраните изменения.
Например, вы добавили 301 редирект на другой сайт. В таком случае в файле web.config удалите строки:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="301 Redirect 1" stopProcessing="true">
<match url=".*" />
<action type="Redirect" url="http://domain.ltd" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
где:
domain.ltd — имя вашего домена.
Помогла ли вам статья? 5
раз уже
помогла
www.reg.ru
Как автоматически убирать index.php через .htaccess
Убираем /index.php с 301 редиректом
Каждую страницу которая заканчивается на / можно открыть и через /index.php. Думаю, каждый более-менее уважаемый вебмастер это знает и вдаваться в подробности не стоит. Мы думаем, что это не сильная проблема как для людей, так и для поисковых роботов. Но все же, что-бы было на 100% правильно, давайте сделаем так, что если страница открывается через слэш, то ее нельзя было открыть через /index.php или /index.html. Естественно, везде должен отадаваться 301 редирект. чтобы ранее проставленные ссылки не теряли свой вес.
Результат работы скрипта
Как забирать окончание /index.php в Битриксе
Битрикс самая популярная коммерческая CMS, да и мы ее используем, поэтому давайте рассмотрим пример на ней. Многие вебмастера пытаются решить подобную задачу через php, записав код в init.php. но тут возникает 2 ошибки:
- Редирект не будет работать при композите, потому что композит не грузит ядро битрикса;
- Большая нагрузка на сервер, т.к. запускается Apache для редиректа.
Вообщем, правильно делать такой редирект исключительно через.htaccess файл. Откроем файл .htaccess, который лежит в корне битрикса и просто добавим 2 строчки кода. RewriteBase / нужно дописать после RewriteEngine On, а в конец всех правил добавим RewriteRule ^(.*)index\.php$ $1 [R=301,L]. Естественно, все в конструкции <IfModule mod_rewrite.c> должно лежать. Код:
Options +FollowSymLinks
RewriteEngine On
#Добавил
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
#Добавил
RewriteRule ^(.*)index\.php$ $1 [R=301,L]
Забирать окончание /index.php через .htaccess
Если у вас не битрикс, то в корне сайта в .htaccess файле (если его нет, то создайте) нужно добавить такой код:
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)index\.php$ $1 [R=301,L]
Надеюсь вы решили вашу задачу!
ru.flamix.software