%{ENV:AVIF_CUSTOM_PATH}
%{ENV:variable}, where variable can be any environment variable, is also available. This is looked-up via internal Apache httpd structures and (if not found there) via getenv() from the Apache httpd server process.
RewriteEngine On
# префикс пути для avif-версий: /1.jpg -> /avif/1.jpg.avif
RewriteRule .* - [ENV=AVIF_CUSTOM_PATH:/avif]
# дебаг - заголовок отдастся, путь будет показан
Header set x-avif-custom-path %{AVIF_CUSTOM_PATH}e
# проверяю наличие и отдаю, если есть
RewriteCond %{DOCUMENT_ROOT}%{ENV:AVIF_CUSTOM_PATH}/$0.avif -f
RewriteRule ^.*\.(?:jpe?g|png)$ %{ENV:AVIF_CUSTOM_PATH}/$0.avif [NC,T=image/avif,L]
mod_rewrite запускает обработку запроса снова и снова, до тех пор, пока он не перестанет меняться.
Флаг [L] останавливает текущую итерацию обработки запроса. Однако если запрос был изменен теми RewriteRule, которые все-таки успели отработать, Apache запустит цикл обработки запроса заново с первого RewriteRule.
RewriteCond %{REQUEST_URI} !^/lechenie-diarei
RewriteRule . /index.php [L]
содержимое %{REQUEST_URI} поменяется на /index.php и Apache запустит цикл обработки запроса заново с первого RewriteRule.GET /path HTTP/1.1
RewriteCond %{THE_REQUEST} !^\S+\s/lechenie-diarei
RewriteCond %{THE_REQUEST} "! /lechenie-diarei"
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{REQUEST_URI} !^/lechenie-diarei
Пробовал добавить "RewriteCond %{REQUEST_URI} !^/new/"
/new/
.# remove slash
RewriteCond %{THE_REQUEST} \s/+(.+?)/+[?\s]
RewriteRule /$ /%1 [R,L]
RewriteRule ^(.*)$ frontend/web/$1 [L]
RewriteRule ^new/ - [L]
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond &%{QUERY_STRING} ^(?=.*&w=(\d+))(?=.*&h=(\d+))
RewriteCond %{DOCUMENT_ROOT}/resized/$1_%1_%2.$2 -f
RewriteRule ^(original/.+)\.(.+) /resized/$1_%1_%2.$2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /resizer.php?path=$1 [L,QSA]
</IfModule>
RedirectMatch 301 ^/(.+)/\d+/?$ /$1/
RewriteEngine On
RewriteRule ^(.+)/\d+/?$ /$1/ [R=301,L]
RewriteCond %{THE_REQUEST} " /blog\?start=19 "
RewriteRule ^ https://drugoysite.ru/blog/? [L,R=301]
RewriteEngine on
RewriteCond %{THE_REQUEST} ^\S+\s/%3F [NC]
RewriteRule .* /$0 [R=301,L,QSA]
GET /%3Fs%3Dsanivite%26post_type%3Dproduct%26type_aws%3Dtrue?_openstat=dGVzdDsxOzE7 HTTP/1.1
^\S+\s/%3F
ловит все адреса начинающиеся с /%3F
%XX
?s=sanivite&post_type=product&type_aws=true
/?s=sanivite&post_type=product&type_aws=true&_openstat=dGVzdDsxOzE7
RewriteCond %{QUERY_STRING} !^$
на RewriteCond %{THE_REQUEST} \?
<IfModule mod_rewrite.c>
RewriteCond %{THE_REQUEST} \?
RewriteCond %{QUERY_STRING} !(^|&)srp=
RewriteCond %{QUERY_STRING} !(^|&)q=
RewriteRule ^(.+?)\.html$ https://%{HTTP_HOST}/$1.html? [L,R=301]
</IfModule>
<IfModule mod_rewrite.c>
RewriteRule ^(.+?)\.html(?!/amp/).+$ https://%{HTTP_HOST}/$1.html? [L,R=301]
</IfModule>
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} /pages/([^.]+)\.php [NC]
RewriteRule ^ /%1 [L,R=301]
RewriteCond %{QUERY_STRING} (?:^|&)id=([^&]+)
RewriteRule ^id$ /%1? [R=301,L]
RewriteRule ^(id_\d+)$ pages/id.php?id=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/pages/$1\.php -f
RewriteRule ^([^.]+?)/?$ pages/$1.php [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f
RewriteRule ^([^.]+?)/?$ $1.php [L]
[\x00-\x2F\x3A-\x40\x5B-\x60\x7B-\x7F]
[\x00-\x7F](?<![a-z\d])
(?![a-z\d])[\x00-\x7F]
/\b(?!code\b)\w+/gi
/\w+\b(?<!\bcode)/gi
/\b(?!(?:word1|word2|word3)\b)\w+/gi
/\w+\b(?<!\b(?:word1|word2|word3))/gi
rewrite ^(/*/.*)/portname=(.*) https://<ip_raritan>/dpa.asp?portname=$2&username=user&password=password last;
https://<ip_raritan>
. Тогда перенаправление будет внутренним и не будет редиректа с кодом 302 и в браузере URL не будет меняться.rewrite ^(/.*)/portname=(.*) /dpa.asp?portname=$2&username=user&password=password last;
если после product_id=894 есть какое-то значение
product_id=[0-9]+[^0-9]
или product_id=\d+\D
RewriteCond %{QUERY_STRING} ^(route=product/product&path=\d+&product_id=\d+)\D
RewriteRule ^index\.php$ /index.php?%1 [R=301,L]
RewriteCond &%{QUERY_STRING}& ^(?=.*&(route=product/product)&)(?=.*(&path=\d+)&)(?=.*(&product_id=\d+)[^&\d])
RewriteRule ^index\.php$ /index.php?%1%2%3 [R=301,L]