Я только что перенес веб-сервер с Apache на nginx и не могу заставить преобразование .htaccess работать должным образом. Я пытаюсь использовать приложение bamboo invoice [http://bambooinvoice.org/], и по умолчанию он имеет .htaccess, который выглядит так:
RewriteEngine on
RewriteRule ^$ /index.php [L]
RewriteCond $1 !^(index\.php|img|css|js|robots\.txt|favicon\.ico|update\.php|install\.php)
RewriteRule ^(.*)$ /index.php/$1 [L]
Кто-нибудь может подсказать, как перевести этот набор правил перезаписи в формат nginx? Мне не везет ..
Теперь есть инструмент под названием Apache2Nginx. Это может помочь перенести файлы конфигурации с Apache на Nginx. https://github.com/nhnc-nginx/apache2nginx/wiki/Welcome-to-Apache2Nginx
Попробуйте что-то вроде этого:
location ~* (index\.php|img|css|js|robots\.txt|favicon\.ico|update\.php|install\.php) {
try_files $uri =404;
}
location / {
try_files /index.php$uri;
}
Этот матч кажется излишне снисходительным; запрос чего-либо с «img», «js» или «css» в любом месте пути или имени файла перехватит правило статического содержимого.