вопрос с гуру nginx конфигов — пытаюсь сейчас перенести привычные мне правила .htaccess в конфиги nginx, и столкнулся несколькими правилам в которых возникают проблемы. Надеюсь кто-нибудь уже настраивал подобные конфиги:
1. Перенаправление всех запросов с index.php в url'e, за исключением POST запросов
RewriteCond %{REQUEST_METHOD} !=POST [NC]
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteCond %{THE_REQUEST} !/folder_1/.*
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,L]
2. Удаление закрывающего / для всех URI за исключением имеющих расширение.
RewriteCond %{REQUEST_URI} /$
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteCond %{QUERY_STRING} !^(ACT=.*)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ $1 [L,R=301]
3. Заблокировать доступ ко всем скрытым папкам и файлам
RewriteCond %{SCRIPT_FILENAME} -d [OR]
RewriteCond %{SCRIPT_FILENAME} -f
RewriteRule "(^|/)\." - [F]
update: мое текущее решение
location ~ /\. {
deny all;
}
4. Перенаправление файлов вида 'main.12345.css' -> 'main.css'
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpg|gif)$ $1.$3 [L]
Спасибо!