try_files /does_not_exists @php
if
есть статья https://www.nginx.com/resources/wiki/start/topics/... ^([^.]+)$
на ^([^.]+[^/])$
чтобы исключить адреса заканчивающиеся на "/". RewriteRule ^([^.]+[^/])$ %{REQUEST_URI}.php [L]
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^([^.]+)$ /$1.php [L]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^(|.*/)index /$1 [R=301,L,NC]
# Force https
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
/[^ a-z0-9а-я,.\/№-]/iu
/u
выполняется дополнительная проверка перед началом поиска. Если входная строка не является валидной UTF-8 строкой, то поиск шаблона даже не начинается и preg_match возвращает false.
Erimax, а пустую строку разрешать?