$uri/
добавляет проверку существование каталога.С помощью слэша в конце имени можно проверить существование каталога, например, “$uri/”.
www.site.ru/rules/
как
Распознавались как www.site.ru/index.php?page=rules
/rules/
./rules/
, /rules
или оба сразу. location ~ ^/dir/apdir/.+\.(php|cgi|pl|phtml)(?<!subdir/index\.php|js/idexfile/file\.php) {
deny all;
}
location ~ ^/dir/apdir/(?!subdir/index\.php|js/idexfile/file\.php).+\.(php|cgi|pl|phtml) {
deny all;
}
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteEngine On
RewriteCond %{THE_REQUEST} " /start\.php\?id=(\d+) "
RewriteRule ^ https://my-bot.ru/start/id/%1? [R=301,L]
RewriteRule ^start/id/(\d+)$ /start.php?id=$1 [L]
location / {
try_files $uri $uri/ /index.php;
}
location ~ [^/]\.php(/|$) {
try_files $uri =404;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9002;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
expires max;
}
location / {
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
expires max;
}
location ~ [^/]\.php(/|$) {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_pass 127.0.0.1:9002;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}
RewriteRule .* index.php [L]
а внизу RewriteRule ^admin/api/(.*) /adminko/?act=api&api=$1 [NS,L]
.%
на \x
RewriteRule ^\xD0\xBD\xD0\xB0\xD1\x88\xD0\xB8-\xD1\x83\xD1\x81\xD0\xBB\xD1\x83\xD0\xB3\xD0\xB8/\xD0\xBE\xD1\x86\xD0\xB5\xD0\xBD\xD0\xBA\xD0\xB0-\xD0\xB6\xD0\xB8\xD0\xBB\xD0\xBE\xD0\xB9-\xD0\xBD\xD0\xB5\xD0\xB4\xD0\xB2\xD0\xB8\xD0\xB6\xD0\xB8\xD0\xBC\xD0\xBE\xD1\x81\xD1\x82\xD0\xB8/\xD0\xBE\xD1\x86\xD0\xB5\xD0\xBD\xD0\xBA\xD0\xB0-\xD0\xB4\xD0\xBE\xD0\xBB\xD0\xB8-\xD0\xB2-\xD0\xBA\xD0\xB2\xD0\xB0\xD1\x80\xD1\x82\xD0\xB8\xD1\x80\xD0\xB5/$ https://psocenka.ru/ocenka-doli-v-kvartire [R=301,L]
ErrorDocument 404 /notfound.php