Добро пожаловать в наше сообщество!
skripters.net - небольшой форум для вэб-мастеров на котором вам предоставляется широкий выбор скриптов, плагинов, стилей и много чего еще для запуска собственного проекта: интернет-магазина, форума, корпоративного сайта, продающего лендинга. Здесь вы найдете много решений по заработку в интернет. Сможете продать или купить нужное вам решение для старта своего веб-проекта. Опытные пользователи проконсультируют вас если вы вначале пути, подскажут как лучше, помогут в установке и настройке.

Помощь Помогите с .htaccess

Катерина

Premium+
Регист
12 Дек 2017
Сообщения
19
Реакции
22
Добрый день, всем
Всё не могу нормально создать .htaccess со всеми редиректами и кэшированием
Как только пытаюсь добавить переадресацию с http на https сразу ошибка что много редиректов
Может кто помочь или у кого есть готовый и корректно работающий?

Код:
AddType image/x-icon .ico
AddDefaultCharset UTF-8

<IfModule mod_rewrite.c>
Options +FollowSymlinks
Options -Indexes

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^www.mysite.by$ [NC]
RewriteRule ^(.*)$ https://mysite.by/$1 [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html|htm)\ HTTP/

RewriteRule ^(.*)index\.(php|html|htm)$ $1 [R=301,L]

#запрос к изображению напрямую без запуска движка
RewriteCond %{REQUEST_URI} \.(png|gif|ico|swf|jpe?g|js|css|ttf|svg|eot|woff|yml|xml|zip|txt|doc)$
RewriteRule ^(.*) $1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_URI} \.(ini|ph.*)$
RewriteRule ^(.*) index.php [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L,QSA]
</IfModule>
<IfModule mod_php5.c>
php_flag magic_quotes_gpc Off
</IfModule>
<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType application/javascript "access plus 10 days"
  ExpiresByType application/font-woff "access plus 10 days"
  ExpiresByType text/javascript "access plus 10 days"
  ExpiresByType text/css "access plus 10 days"
  ExpiresByType image/gif "access plus 10 days"
  ExpiresByType image/webp "access plus 10 days"
  ExpiresByType image/jpeg "access plus 10 days"
  ExpiresByType image/jpg "access plus 10 days"
  ExpiresByType image/png "access plus 10 days"
  ExpiresByType image/svg+xml "access plus 10 days"
</IfModule>

<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE image/png
  AddOutputFilterByType DEFLATE image/webp
  AddOutputFilterByType DEFLATE image/jpg
  AddOutputFilterByType DEFLATE image/jpeg
  AddOutputFilterByType DEFLATE image/gif
  AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>

<IfModule mod_headers.c>
  <FilesMatch .*\.(js|css)$>
    Header set Cache-control: private
  </FilesMatch>
  <FilesMatch .*\.(gif|jpg|jpeg|png)$>
    Header set Cache-control: public
  </FilesMatch>
</IfModule>

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^index.php$ / [R=301,L]

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^index.html$ / [R=301,L]

RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
 

MRX

Администратор
Регист
6 Апр 2016
Сообщения
2.498
Реакции
1.958
С каким движком работаете?
 

ⓜⓨⓤⓢⓛⓘ

Модератор
Developer
Регист
21 Май 2018
Сообщения
642
Реакции
629
Добрый день, всем
Всё не могу нормально создать .htaccess со всеми редиректами и кэшированием
Как только пытаюсь добавить переадресацию с http на https сразу ошибка что много редиректов
Может кто помочь или у кого есть готовый и корректно работающий?

Код:
AddType image/x-icon .ico
AddDefaultCharset UTF-8

<IfModule mod_rewrite.c>
Options +FollowSymlinks
Options -Indexes

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^www.mysite.by$ [NC]
RewriteRule ^(.*)$ https://mysite.by/$1 [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html|htm)\ HTTP/

RewriteRule ^(.*)index\.(php|html|htm)$ $1 [R=301,L]

#запрос к изображению напрямую без запуска движка
RewriteCond %{REQUEST_URI} \.(png|gif|ico|swf|jpe?g|js|css|ttf|svg|eot|woff|yml|xml|zip|txt|doc)$
RewriteRule ^(.*) $1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_URI} \.(ini|ph.*)$
RewriteRule ^(.*) index.php [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L,QSA]
</IfModule>
<IfModule mod_php5.c>
php_flag magic_quotes_gpc Off
</IfModule>
<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType application/javascript "access plus 10 days"
  ExpiresByType application/font-woff "access plus 10 days"
  ExpiresByType text/javascript "access plus 10 days"
  ExpiresByType text/css "access plus 10 days"
  ExpiresByType image/gif "access plus 10 days"
  ExpiresByType image/webp "access plus 10 days"
  ExpiresByType image/jpeg "access plus 10 days"
  ExpiresByType image/jpg "access plus 10 days"
  ExpiresByType image/png "access plus 10 days"
  ExpiresByType image/svg+xml "access plus 10 days"
</IfModule>

<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE image/png
  AddOutputFilterByType DEFLATE image/webp
  AddOutputFilterByType DEFLATE image/jpg
  AddOutputFilterByType DEFLATE image/jpeg
  AddOutputFilterByType DEFLATE image/gif
  AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>

<IfModule mod_headers.c>
  <FilesMatch .*\.(js|css)$>
    Header set Cache-control: private
  </FilesMatch>
  <FilesMatch .*\.(gif|jpg|jpeg|png)$>
    Header set Cache-control: public
  </FilesMatch>
</IfModule>

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^index.php$ / [R=301,L]

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^index.html$ / [R=301,L]

RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Я практически на всех сайтах использую этот код для перенаправления на https (пользуюсь одним хостингом правда, поэтому хз подойдет ли)

В конце файла докидываю
Код:
# Правила перенаправления
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
 

Катерина

Premium+
Регист
12 Дек 2017
Сообщения
19
Реакции
22
Я практически на всех сайтах использую этот код для перенаправления на https (пользуюсь одним хостингом правда, поэтому хз подойдет ли)

В конце файла докидываю
Код:
# Правила перенаправления
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Докинула, да всё работает но только в опере. В хроме не работает О_о
Кэш и куки чистила
 
Последнее редактирование:
Сверху