- Что такое .htaccess
- Как вносить изменения в .htaccess
- Как выключить и скрыть ошибки PHP
- Как включить логи ошибок в htaccess
- Как сделать 301 редирект в .htaccess
- Самый простой редирект
- 301 редирект с WWW на без WWW
- 301 редирект с без WWW на WWW
- Редирект 301 с http на https
- Редирект 301 с https на http
Что такое .htaccess
.htaccess (с точкой в начале) — это локальный конфигурационный файл Apache, в котором можно переопределить настройки сервера под конкретный сайт. Например, с его помощью можно настроить 301 редиректы сайта, включать и отключать ошибки PHP, логи ошибок и многое другое.
Как вносить изменения в .htaccess
В .htaccess
есть правило — чем выше условие объявлено, тем оно главнее.
- Через SSH, FTP или менеджер файлов в панели управления хостингом найти в корне сайта и открыть файл
.htaccess
;- Выбрать нужное решение из предоставленных в статье ниже;
- Скопировать и внести код в самое начало
.htaccess
;- Сохранить результат.
Как выключить и скрыть ошибки PHP
php_flag display_startup_errors off php_flag display_errors off php_flag html_errors off
Как включить логи ошибок в htaccess
# Включаем логирование ошибок php_flag log_errors on # Относительный путь к файлу лога. Файл error.log будет создаваться в одном каталоге с .htaccess php_value error_log ./error.log # Закрываем файл лога ошибок от доступа <Files error.log> Order allow,deny Deny from all Satisfy All </Files>
Как сделать 301 редирект в .htaccess
Самый простой редирект
Тут вместо 301 можно использовать 302 временный или 307 тоже временный
Redirect 301 /old/ http://example.com/new/
или
Redirect permanent /old/ http://example.com/new/
или
RedirectPermanent /old/ http://example.com/new/
301 редирект с WWW на без WWW
RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.(.*)$ RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
301 редирект с без WWW на WWW
RewriteEngine On RewriteCond %{HTTP_HOST} ^([^www].*)$ RewriteRule ^(.*)$ http://www.%1/$1 [L,R=301]
Редирект 301 с http на https
RewriteCond %{HTTPS} !=on RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Либо
RewriteCond %{HTTPS} off RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Редирект 301 с https на http
RewriteCond %{HTTPS} =on RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]
Свежие комментарии