Điểm:0

Quy tắc chuyển hướng Nginx đến thư mục con

lá cờ in

Tôi có một ứng dụng PHP cũ đang chạy với Apache, bây giờ tôi cần chuyển sang sử dụng Nginx

quy tắc chuyển hướng htaccess

php_value upload_max_filesize "5M"

AddType text/x-component .htc


Viết LạiEngine Trên
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]

Tôi đã thử một số cách để chuyển hướng như bên dưới nhưng có vẻ như nó không hoạt động, nó không chuyển tệp PHP sang PHP-FPM

vị trí ~ brand/kit/summer-icecream/lacne/(.+)\.php$ {
        nếu (!-e $request_filename){
           viết lại ^/brand/kit/summer-icecream/lacne/(.+)\.php$ /brand/kit/summer-icecream/lacne/share/admin/$1.php chuyển hướng;
        }
    }

    vị trí ~ (.+)\.php$ {
       try_files $uri =404;
       fastcgi_pass fastcgi_backend;
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       bao gồm fastcgi_params;
       fastcgi_read_timeout 600s;
       fastcgi_connect_timeout 600s;
       fastcgi_param REMOTE_ADDR $remote_addr;
       fastcgi_param HTTP_HOST $host;
       bao gồm /etc/nginx/fastcgi_config;
    }

Để thử nghiệm, URI yêu cầu là: http://127.0.0.1:8989/brand/kit/summer-icecream/lacne/login.php

djdomi avatar
lá cờ za
Chà, bạn có thể chạy song song nginx và apache vì đây là một thiết lập chung - hãy để thứ cũ chạy trên apache và sử dụng nginx để proxy_pass nó, đó không phải là một tùy chọn sao?
user2306811 avatar
lá cờ in
cách đó sẽ làm cho ngăn xếp phức tạp hơn để bảo trì thêm, nếu không có tùy chọn nào với Nginx, tôi phải quay lại với Apache
Gerard H. Pille avatar
lá cờ in
Có lẽ nginx không nghe trên 127.0.0.1:8989. Khó nói chỉ với một đoạn trích từ cấu hình của bạn.
Ivan Shatsky avatar
lá cờ gr
Sử dụng `if (!-e $request_filename) { ... }` là một cách làm không phù hợp (thường cấu trúc này được đề xuất bởi các trình chuyển đổi cấu hình apache sang nginx trực tuyến). Bạn có thể thử trình chuyển đổi [này](https://www.getpagespeed.com/apache-to-nginx) (được thực hiện bởi [Danila Vershinin](https://serverfault.com/users/242885/danila-vershinin)).

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.