У меня есть старое PHP-приложение, работающее с Apache, сейчас мне нужно переключиться на использование Nginx.
правило перенаправления htaccess
php_value upload_max_filesize "5M"
AddType text/x-component .htc
RewriteEngine включен
RewriteBase /brand/kit/summer-icecream/lacne
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(/admin/)
RewriteCond %{REQUEST_URI} !(/setup/)
RewriteCond %{REQUEST_URI} !(/support/)
RewriteCond %{REQUEST_URI} !(/share/)
RewriteCond %{REQUEST_URI} !(/rss/)
RewriteCond %{REQUEST_URI} !(/output/)
RewriteCond %{REQUEST_URI} !(/upload/)
RewriteCond %{REQUEST_URI} !(/app_api/)
Правило перезаписи ^(.+)\.php$ share/admin/$1.php [L]
Правило перезаписи app_api/(.+)\.php$ share/app_api/$1.php [L]
Я пробовал несколько способов перенаправления, как показано ниже, но, похоже, он вообще не работает, он не передает файл PHP в PHP-FPM.
location ~ бренд/комплект/летнее-мороженое/lacne/(.+)\.php$ {
если (!-e $request_filename){
переписать ^/brand/kit/summer-icecream/lacne/(.+)\.php$ /brand/kit/summer-icecream/lacne/share/admin/$1.php редирект;
}
}
местоположение ~ (.+)\.php$ {
try_files $uri = 404;
fastcgi_pass fastcgi_backend;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
включить fastcgi_params;
fastcgi_read_timeout 600 с;
fastcgi_connect_timeout 600 с;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param HTTP_HOST $хост;
включить /etc/nginx/fastcgi_config;
}
Для тестирования URI запроса:
http://127.0.0.1:8989/brand/kit/summer-icecream/lacne/login.php