RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ https://%{HTTP_HOST}/$1/ [L,R=301]
!-f
нужна проверка что это существующая папка -d
.RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*[^/])$ https://site.ru/$1/ [R=301,L]
RewriteEngine On
RewriteRule ^blog/(category-\d+)$ /blog/index/$1 [R=301,L]
location /foo/bar/ {
proxy_pass http://127.0.0.1:3000/;
}
location /foo/bar {
rewrite ^/foo/bar/?(.*) /$1 break;
proxy_pass http://127.0.0.1:3000;
}
*
на +
### START Редирект с первой страницы пагинации на основную
RewriteBase /
RewriteRule ^(.+)page/1(/|)$ $1 [R=301,L]
### END Редирект с первой страницы на основную
### Редиректы с index.php на сайт
RewriteCond %{THE_REQUEST} " /(page/1/?|)[ ?]"
RewriteRule .* /index.php [R=301,L]
DirectorySlash Off
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/$0.html -f
RewriteRule .+ /$0.html [L]
/ja -> /jp
/ja/ -> /jp/
/ja/page -> /jp/page
server {
rewrite ^/ja($|/.*) /jp$1 permanent;
RewriteCond %{THE_REQUEST} " /\?(search=songs&tags=\S+) "
RewriteRule ^ /search.html?%1 [R=301,L]
?%1
можно убрать.RewriteCond %{THE_REQUEST} " /\?search=songs&tags="
RewriteRule ^ /search.html [R=301,L]
RewriteCond %{QUERY_STRING} ^search=songs&tags=
RewriteRule ^$ /search.html [R=301,L]
RewriteCond %{QUERY_STRING} (^|&)search=songs($|&)
RewriteCond %{QUERY_STRING} (^|&)tags=[^&]+($|&)
RewriteRule ^$ /search.html [R=301,L]
$str = preg_replace('#<img[^>]+src="[^"]*?([^/"]+)\.gif"[^>]*>#i', ':$1', $str);
RewriteCond %{THE_REQUEST} ([^\s]*)\.php(\?[^\s]*)?
RewriteRule (.*) %1 [R=301,L]
/file1.php
и /folder/file2.php
RewriteCond %{REQUEST_URI} !^/file1\.php
RewriteCond %{REQUEST_URI} !^/folder/file2\.php
RewriteCond %{THE_REQUEST} ([^\s]*)\.php(\?[^\s]*)?
RewriteRule (.*) %1 [R=301,L]
Если alias используется внутри location’а, заданного регулярным выражением, то регулярное выражение должно содержать выделения, а сам alias — ссылки на эти выделения
location ~* ^/static/\d+/(.+\.css)$ {
alias /path/to/static/$1;
}
location ~* ^/(static)/\d+/(.+\.css)$ {
alias %hostdir%/$1/$2;
}
location ~* ^.+\.(css...
. root /www/pcl.col;
location / {
try_files $uri /index.php$is_args$args;
}
location /project-1 {
try_files $uri /project-1/index.php;
}
location /project-2 {
try_files $uri /project-2/index.php;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
/path?query
/path
, а GET параметры следует искать в $args.if ($request_uri ~ "/\?[a-z]{9}") {
return 403;
}
(?-s)^.*$(?<!html)\R?
^(?-s:(.*html$)|.*\R?)
$1