Puncte:0

Regula de redirecționare Nginx către subdirector

drapel in

Am o veche aplicație PHP care rulează cu Apache, deocamdată trebuie să trec să folosesc Nginx

regula de redirecționare htaccess

php_value upload_max_filesize „5M”

AddType text/x-component .htc


RewriteEngine Pornit
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/)
RewriteRule ^(.+)\.php$ share/admin/$1.php [L]

RewriteRule app_api/(.+)\.php$ share/app_api/$1.php [L]

Am încercat mai multe moduri de redirecționare, cum ar fi mai jos, dar se pare că nu funcționează deloc, nu trece fișierul PHP către PHP-FPM

locație ~ brand/kit/summer-icecream/lacne/(.+)\.php$ {
        dacă (!-e $nume_fișier_cerere){
           rescrie ^/brand/kit/summer-icecream/lacne/(.+)\.php$ /brand/kit/summer-icecream/lacne/share/admin/$1.php redirect;
        }
    }

    locație ~ (.+)\.php$ {
       try_files $uri =404;
       fastcgi_pass fastcgi_backend;
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       include fastcgi_params;
       fastcgi_read_timeout 600s;
       fastcgi_connect_timeout 600s;
       fastcgi_param REMOTE_ADDR $adresă_la distanță;
       fastcgi_param HTTP_HOST $gazdă;
       includ /etc/nginx/fastcgi_config;
    }

Pentru testare, URI-ul cererii este: http://127.0.0.1:8989/brand/kit/summer-icecream/lacne/login.php

djdomi avatar
drapel za
Ei bine, puteți rula nginx și apache în paralel, deoarece este o configurare obișnuită - lăsați lucrul vechi să ruleze pe apache și folosiți nginx pentru al proxy_pass, nu este o opțiune?
user2306811 avatar
drapel in
Ei bine, așa va face stiva mai complexă pentru întreținere ulterioară, dacă nu există nicio opțiune cu Nginx, trebuie să revin cu Apache
Gerard H. Pille avatar
drapel in
Poate că nginx nu ascultă pe 127.0.0.1:8989. Greu de spus doar cu un extras din configurația ta.
Ivan Shatsky avatar
drapel gr
Utilizarea `if (!-e $request_filename) { ... }` este o practică proastă (de obicei această construcție sugerată de convertoarele online de configurare apache-to-nginx). Puteți încerca [this](https://www.getpagespeed.com/apache-to-nginx) convertor (realizat de [Danila Vershinin](https://serverfault.com/users/242885/danila-vershinin)).

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.