
Если Вы задались подобными вопросами, то Вы занялись оптимизацией сайта. Делать редирект необходимо чем раньше, тем лучше для сайта.
Для чего нужен этот 301 редирект в htaccess?
Ответ прост:
Если сайты www.inter-net.pro и inter-net.pro работают по отдельности без редиректов. Эти две копии могут «склеится» поисковыми системами, что негативно скажется на поисковой оптимизации.
Настраивается 301 редирект в joomla 3 через файл .htaccess
Где найти файл .htaccess
? Он расположен в корне сайта в папке www.
Если у вас такого файла, то рекомендую вам убрать index.php в url адресе сайта. Именно тогда мы переименовали файл htaccess.txt в файл .htaccess Рекомендую вам сначала удалить index.php и сразу же сделать 301 редирект.
Настраиваем 301 редирект htaccess
У меня все сайты без www, поэтому я сразу расскажу как сделать редирект с версии с www на версию без.
Открываем файл .htaccess
и находим в нём следующую строку:
RewriteEngine On
примерно 27 строчка и сразу же под этой строкой добавляем две строчки кода редиректа, чтоб получилось:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R,L]
Сохраняем файл и заливаем его обратно в корень сайта. Сразу же проверьте работоспособность редиректа на своём сайте. Для этого наберите в адресной строке URL вашего сайта с WWW впереди (не забудьте точку после www) и попробуйте зайти на сайт. Автоматически должно срабатывать перенаправление на версию без www. Если всё сработало - значит редирект сделан правильно.
Ну и для себя добавлю запись с разными кодами, чтоб при личной надобности быстро решать задачи в правке файла .htaccess
Создание короткого адреса карты сайта Xmap
Код позволяет создать для карты сайта урл-адрес вида sitemap.xml
и в таком виде добавлять его в сервисы вебмастера поисковиков
RewriteCond %{REQUEST_URI} ^/sitemap.xml
RewriteRule .* /index.php?option=com_xmap&id=1&view=xml&format=html [L]
На сайте самого Xmap говорится о другом варианте
RewriteCond %{REQUEST_URI} ^/sitemap.xml
RewriteRule .* /index.php?option=com_xmap&id=1&view=xml
но он увы часто вызывает 500-ую ошибку сервера
Редирект URL с www на URL без- www
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R,L]
Редирект URL без-www на URL с www
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
Редирект страниц одного домена на другой
RewriteCond %{HTTP_HOST} ^(www\.)?мойсайт\.ru
RewriteRule ^(.*)$ http://сайт.ру/$1 [R=301,L]
Данный код перенаправляет все страницы одного домена на другой домен.
Редирект со страниц без суффикса .html на страницы с .html
Редирект будет полезен, если вдруг решили добавить к страницам окончание в виде .html Т.е. стандартный роутер (преобразователь URL) не делает автоматических редиректов при добавлении суффиксов, то сделаем редиректы самостоятельно:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)$ /$1.html [R=301,L]
Удаление дубля главной страницы - index.php из URL
Последние версии SEF-компонентов (sh404SEF и MijoSEF) не делают автоматических редиректов с _http://inter-net.pro/index.php на корень сайта _http://inter-net.pro/, поэтому добавляем код
RewriteCond %{THE_REQUEST} !^POST
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteCond %{SERVER_PORT}>s ^(443>(s)|[0-9]+>s)$
RewriteRule ^index\.php$ http%2://inter-net.pro/ [R=301,L]
inter-net.pro естественно меняем на свой домен
Все другие конструкции могу приводить к проблемам с POST-запросами напрямую через файл index.php (вместо выполнения получим редирект на корень сайта). Поэтому для редиректа обязательно исключение запросов POST.
Запрет просмотра каталогов (папок)
Стандартно, при прямом доступе к каталогу с отсутствующим пустым файлом index.html (index.htm), открывается список содержимого каталога. Следующие директивы помогают избежать этого.
IndexIgnore *
Options -Indexes
*** Авторизируйтесь чтобы писать комментарии.