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


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.