RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{REQUEST_URI} !^/astrology/?$ [NC]
RewriteCond %{REQUEST_URI} !^/$ [NC]
RewriteCond %{REQUEST_URI} !^/wp-admin [NC]
RewriteCond %{REQUEST_URI} !^/wp-login\.php [NC]
RewriteCond %{REQUEST_URI} !\.(css|js|png|jpe?g|gif|webp|svg|woff2?)$ [NC]
RewriteRule ^(.*)$ https://yandex.ru/turbo?text=https://%{HTTP_HOST}/$1 [R=301,L,QSA]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{REQUEST_URI} !^/($|astrology/?$|wp-admin|wp-login\.php|.*\.(css|js|png|jpe?g|gif|webp|svg|woff2?)$) [NC]
RewriteRule ^(.*)$ https://yandex.ru/turbo?text=https://%{HTTP_HOST}/$1 [R=301,L,QSA]
limit_req_zone ключ
Просто, в документации не видел такие фишки.
.+?
?
переключает в ленивый режим и совпадение наименьшей длины.(?:...)
не сохраняют совпавший текст, а лишь группируют компоненты регулярных выражений в конструкции выбора.(?!...)
негативная опережающая проверка. RewriteRule ^$ https://sait.ru/index.shtml [R=301,L]
RewriteRule ^([^/]+)/$ https://sait.ru/$1/index.shtml [R=301,L]
PHP Warning: move_uploaded_file(): Unable to move '/tmp/phpAovX9o' to 'file/f/fuse3-3.9.3-r0.apk' in /var/www/html/domain.com/scripts/file.php on line 107
file/f/fuse3-3.9.3-r0.apk
не начинаетя с /
.location ~ ^/file/f(/[^/]+\.[^/]+)$ {
return 301 $1;
}
location ~ ^/file/f(/[^/]+)$ {
return 301 $1;
}
^/[^/]+\.[^/]+$
^/[^/]+$
location ~ ^/(?!index\.html)[^/]+$ {
root /var/www/html/domain.com/file/f;
}
location = /index.html {
}
server
указан root /var/www/html/domain.com;
location ~ /\.
и внутри deny
или return 403;
И ещё если запрашиваю так же существующий файл без расширения, выдаёт 404
Например https://domain.com/webmin-setup-repos
GET /img/i/kartinka.png HTTP/1.1
Host: domen.com
HTTP/1.1 301 Moved Permanently
Location: https://domen.com/kartinka.png
GET /kartinka.png HTTP/1.1
Host: domen.com
HTTP/1.1 200 OK
и передаёт содержимое нужного файла. location ~ ^/[^/]+\.(jpg|jpeg|gif|png|svg|bmp|tiff|tga|webp|ico)$ {
root /var/www/html/domain.com/img/i;
}
location ~ ^/img/i(/[^/]+\.(jpg|jpeg|gif|png|svg|bmp|tiff|tga|webp|ico))$ {
return 301 $1;
}
location ~ ^/[^/]+\.[^/]+$ {
root /var/www/html/domain.com/file/f;
}
location ~ ^/file/f(/[^/]+\.[^/]+)$ {
return 301 $1;
}
/var/www/html/domain.com/img/i/kartinka.png
/image.png
обрабатывается в location ~ ^/[^/]+\.(jpg|jpeg|gif|png|svg|bmp|tiff|tga|webp|ico)$ {
root /var/www/html/domain.com/img/i;
}
location ~ ^/[^/]+\.(jpg|jpeg|gif|png|svg|bmp|tiff|tga|webp|ico)$ {
return 301 $1;
}
location ~ ^/img/i(/[^/]+\.(jpg|jpeg|gif|png|svg|bmp|tiff|tga|webp|ico))$ {
return 301 $1;
}
location ~ ^/file/f(/[^/]+\.[^/]+)$ {
return 301 $1;
}
/
location ~ ^/[^/]+\.(jpg|jpeg|gif|png|svg|bmp|tiff|tga|webp|ico)$ {
root /var/www/html/domain.com/img/i;
}
location ~ ^/img/i(/[^/]+\.(jpg|jpeg|gif|png|svg|bmp|tiff|tga|webp|ico))$ {
return 301 $1;
}
location ~ ^/[^/]+\.[^/]+$ {
root /var/www/html/domain.com/file/f;
}
location ~ ^/file/f(/[^/]+\.[^/]+)$ {
return 301 $1;
}
location ~ ^/[^/]+\.(png|jpg|gif)$ {
root /var/www/img/i;
}
location ~ ^/[^/]+\.[^/]+$ {
root /var/www/file/f;
}
regexp=^/[0-9]{4}/^
Ваша регулярка тогда выглядит примерно так
regexp=^/\+7\s*\(?[3489]/^