Permalinks for GeoLite2 Country×
Below are permalinks that you can use to download the database.
Remember to replace YOUR_LICENSE_KEY.
# Database URL
https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-Country&license_key=YOUR_LICENSE_KEY&suffix=tar.gz
# SHA256 URL
https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-Country&license_key=YOUR_LICENSE_KEY&suffix=tar.gz.sha256
RewriteCond %{REQUEST_URI} !^/robots.txt$ [NC], но robots.txt открывался, поэтому "не ломал то, что работало". Но вы правы, это правило видимо лишнее и никакой полезной нагрузки не несет.
ErrorDocument 404 /404.php
#########################
### БЛОКИРОВКИ НАЧАЛО ###
#########################
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
# Запретить все IP, кроме СНГ, Google:
RewriteCond %{REMOTE_ADDR} !^(?:2|3|5|3[17]|46|62|7[7-9]|8[0-9]|9[0-5]|1(?:09|28|3[046]|4[1569]|5[189]|64|7[168]|8[58]|9[2-5])|21[237])\..*$
RewriteCond %{HTTP_USER_AGENT} !Googlebot [NC]
RewriteRule ^.*$ - [F,L]
</IfModule>
# Блокируем IP
Order deny,allow
deny from 94.19.233.51
#########################
### БЛОКИРОВКИ КОНЕЦ ###
#########################
<IfModule mod_deflate.c>
# Compress HTML, CSS, JavaScript, Text, XML and fonts
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 image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
# Remove browser bugs (only needed for really old browsers)
</IfModule>
#Обозначаем кодировку сайта
AddDefaultCharset UTF-8
#Блокируем надоедливых роботов
<IfModule mod_setenvif.c>
SetEnvIfNoCase User-Agent "AhrefsBot" bot
SetEnvIfNoCase User-Agent "Mail.RU_Bot" bot
SetEnvIfNoCase User-Agent "^Microsoft.URL" bot
SetEnvIfNoCase User-Agent "^Microsoft\ URL\ Control" bot
SetEnvIfNoCase User-Agent "bingbot" bot
SetEnvIfNoCase User-Agent "Screaming Frog SEO Spider" bot
SetEnvIfNoCase User-Agent "^Xenu" bot
SetEnvIfNoCase User-Agent "SemrushBot" bot
SetEnvIfNoCase User-Agent "archive.org_bot" bot
SetEnvIfNoCase User-Agent "Baiduspider" bot
SetEnvIfNoCase User-Agent "yahoo! slurp" bot
SetEnvIfNoCase User-Agent "DuckDuckBot" bot
SetEnvIfNoCase User-Agent "MJ12bot" bot
Deny from env=bot
</IfModule>
# Директива включает редиректы.
RewriteEngine on
# Без директивы (.*) = /$1 будет /var/wwww/site/web/$1 с директивой = /$1
RewriteBase /
# Разрешает переход по символическим ссылкам.
#Options +FollowSymLinks
# запретить отображение ошибок (требование монитора качества)
#php_flag display_errors off
##################
### SEO НАЧАЛО ###
##################
# 301 с IP на домен
RewriteCond %{HTTP_HOST} ^1\.2\.3\.4
RewriteRule (.*) https://site.com/$1 [R=301,L]
# 301 с IP на домен
#RewriteCond %{HTTP_HOST} ^[\d.]+$
#RewriteRule ^(.*)$ https://site.com/$1 [L,R=permanent]
#301 c index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]
# 301 http → https
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# 301 www → без www
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]
# Проверяем, повторяется ли слеш (//) более двух раз.
RewriteCond %{THE_REQUEST} //
# Исключаем все лишние слеши.
RewriteRule .* /$0 [R=301,L]
# Добавляем слеш(/), если его нет, и это не файл
# Если слеша в конце нет.
#RewriteCond %{REQUEST_URI} !(.*)/$
# Не является файлом.
#RewriteCond %{REQUEST_FILENAME} !-f
# В URL нет точки (файл).
#RewriteCond %{REQUEST_URI} !\..+$
# В URL есть хоть один символы
#RewriteCond %{REQUEST_URI} ^(.+)$
# Добавляем слеш в конце.
#RewriteRule ^(.*)$ $1/ [L,R=301]
##################
### SEO КОНЕЦ ###
##################
#Создаем статические страницы для файлов с расширением .php
RewriteRule ^page/([0-9]+)/$ index.php?page=$1 [L,QSA]
RewriteRule ^cat/([0-9]+)/(.*)/([0-9]+)/$ cat.php?id=$1&name=$2&page=$3 [L,QSA]
RewriteRule ^cat/([0-9]+)/(.*)/$ cat.php?id=$1&name=$2 [L,QSA]
RewriteRule ^collections/$ collections.php [L,QSA]
RewriteRule ^collections/([0-9]+)/$ collections.php?page=$1 [L,QSA]
RewriteRule ^search/(.*)/([0-9]+)/$ search.php?q=$1&page=$2 [L,QSA]
RewriteRule ^search/(.*)/$ search.php?q=$1 [L,QSA]
RewriteCond %{REQUEST_URI} !^/robots.txt$ [NC]