server {
server_name example.com;
location /static {
return 404;
}
location / {
return 301 https://myexample.com$request_uri;
}
}
index index.php;
location = /index.php {
return 301 /;
}
/
конструкция index index.php;
выполнит внутреннее перенаправление на /index.php
после чего запрос попадёт в location = /index.php
location = / {
rewrite ^ /index.php break;
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location = /index.php {
return 301 /;
}
-f
это разве проверка регулярного выражения? Тут просто проверяется существование файла. 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]
rewrite ^/page/([0-9]+)/$ /index.php?page=$1;
rewrite ^/cat/([0-9]+)/(.*)/([0-9]+)/$ /cat.php?id=$1&name=$2&page=$3;
rewrite ^/cat/([0-9]+)/(.*)/$ /cat.php?id=$1&name=$2;
rewrite ^/collections/$ /collections.php;
rewrite ^/collections/([0-9]+)/$ /collections.php?page=$1;
rewrite ^/search/(.*)/([0-9]+)/$ /search.php?q=$1&page=$2;
rewrite ^/search/(.*)/$ /search.php?q=$1;
RewriteCond %{REQUEST_URI} !^/robots.txt$ [NC]
https://amaio.ru/cases
нормально работает.RedirectPermanent /post/golos/ /golos/post
RewriteRule ^(img)/(video)/?$ /$2/$1 [R=301,L]
RewriteMap lc int:tolower
httpd.apache.org/docs/2.4/rewrite/rewritemap.html#int