এনগিনেক্স একাধিক শিকড়


13

আমি অনুরোধগুলি একটি নির্দিষ্ট সাব-ডিরেক্টরিতে, অন্য মূল স্থানে সরিয়ে দিতে চাই। কিভাবে? আমার বিদ্যমান ব্লকটি হ'ল:

server {
    listen       80;
    server_name  www.domain.com;

    location / {
        root   /home/me/Documents/site1;
        index  index.html;
    }

    location /petproject {
        root   /home/me/pet-Project/website;
        index  index.html;
        rewrite ^/petproject(.*)$ /$1;
    }

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    } }

তা হল, http: //www.domain.com- এ / home/me/ Documents / site1 / index.html পরিবেশন করা উচিত যেখানে http://www.domain.com/petproject / home / me / পোষা-প্রকল্প / ওয়েবসাইট পরিবেশন করা উচিত /index.html - দেখে মনে হচ্ছে যে এনগিনেক্সগুলি প্রতিস্থাপনের পরে সমস্ত নিয়ম পুনরায় চালায় এবং http://www.domain.com/petproject কেবল /home/me/Documents/site1/index.html পরিবেশন করে।

উত্তর:


28

কনফিগারেশনে স্বাভাবিক সমস্যা থাকে যা সাধারণত এনজিনেক্সের সাথে ঘটে। এটি, ব্লকের rootভিতরে ডিরেক্টরি ব্যবহার করে location

আপনার বর্তমান locationব্লকগুলির পরিবর্তে এই কনফিগারেশনটি ব্যবহার করার চেষ্টা করুন :

root /home/me/Documents/site1;
index index.html;

location /petproject {
    alias /home/me/pet-Project/website;
}

এর অর্থ হল যে আপনার ওয়েবসাইটের জন্য ডিফল্ট ডিরেক্টরিটি /home/me/Documents/site1এবং /petprojectইউআরআইয়ের জন্য বিষয়বস্তুটি /home/me/pet-Project/websiteডিরেক্টরি থেকে পরিবেশন করা হয় ।


4

breakআপনার পুনরায় লেখার নিয়মে পতাকাটি যুক্ত হওয়া দরকার , যাতে প্রসেসিং বন্ধ হয়ে যায় এবং এটি কোনও অবস্থানের ভিতরে থাকায় সেই ব্লকের ভিতরে ব্লক প্রক্রিয়াকরণ অব্যাহত থাকবে:

rewrite ^/petproject/?(.*)$ /$1 break;

দ্রষ্টব্য আমি এছাড়াও /?মিলের প্যাটার্নটিতে যুক্ত করেছি যাতে আপনি url এর শুরুতে ডাবল স্ল্যাশ দিয়ে শেষ না হন।


aliasনির্দেশিকা যখন এখানে ব্যবহার করা উচিত তেমন ব্যবহার করার সময় এখানে লেখার প্রয়োজন হয় না ।
টেরো কিলকেনেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.