এনগিনেক্স: ফাইলের ডিরেক্টরিতে পুনর্লিখন


3

আমি এখানে এনগিনেক্সে কিছুটা নতুন তাই আমার সহ্য কর -

আমি একটি url পুনর্লিখন করতে চান foo.bar.com/newfoo?limit=30করতে foo.bar.com/newfoo.php?limit=30।

এটি এরকম কিছু করতে খুব সহজ লাগে rewrite ^([a-z]+)(.*)$ $1.php$2 last;

আমি যে অংশটি সম্পর্কে বিভ্রান্ত হয়েছি তা এটি কোথায় রাখা উচিত - আমি কোনও অবস্থানের নির্দেশে আমার হাত চেষ্টা করেছি তবে আমি এটি ভুল করছি।

এখানে আমার বিদ্যমান ভার্চুয়াল হোস্ট কনফিগারেশন, আমার পুনর্লিখনটি আমি কোথায় বাস্তবায়ন করব?

server {
listen   80;
listen   [::]:80;

server_name foo.bar.com;
root /home/foo;

index index.php index.html index.htm;

location / {
    try_files $uri $uri/ /index.html;
}

location /doc/ {
    alias /usr/share/doc/;
    autoindex on;
    allow 127.0.0.1;
    deny all;
}

location ~ \.php$ {
    try_files $uri =404;

    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_pass unix:/tmp/php5-fpm.sock;
    fastcgi_index index.php;

}
}

ধন্যবাদ!

উত্তর:


4
try_files $uri $uri/ $uri.php /index.html;

ওহ আমি পেয়েছি, শীতল। আমার ধারণা সম্পূর্ণরূপে সেই ভুলটির কাছে পৌঁছেছে। চিয়ার্স।
— ডগ

কেবল একটি নোট, এটি .php ফাইলের অবস্থান নির্দেশের শীর্ষে রেখে এবং সেই নির্দেশকে নতুন নাম দিয়ে কাজ করার জন্য এটি পেয়েছি location / {}। আবার ধন্যবাদ
— ডগ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.