Bagaimana untuk mengkonfigurasi mod pathinfo dalam nginx

WBOY
Lepaskan: 2023-05-12 19:52:04
ke hadapan
1345 orang telah melayarinya

Sebab

Saya sudah lama tidak menggunakan apache, dan secara beransur-ansur saya rasa tidak biasa dengan apache, kerana seorang rakan mempunyai rangka kerja zendframework yang telah dipindahkan dari apache ke nginx dan memerlukan sokongan mod pathinfo.

Cari dalam talian di Shanghai

Jadi saya mula mencari artikel yang berkaitan dengan nginx+pathinfo, saya rasa mudah untuk mengkonfigurasinya pada mulanya. Selepas mencari, saya mendapati bahawa terdapat banyak artikel yang memperkenalkan nginx untuk membolehkan mod pathinfo, dan nampaknya ia tidak sukar. Tetapi selepas beberapa jam, ia masih tidak dikonfigurasikan dengan betul. Dan kandungan sejumlah besar artikel adalah sangat serupa, dan ia pada dasarnya dicetak semula.
Saya mula cemas sedikit! Kerana satu hari telah berlalu dan persiapan belum selesai.

Teruskan mencari

Tiada pilihan, teruskan mencari. Untuk kemudahan pengesahan, saya menggunakan a.com untuk memuat turun rangka kerja thinkphp dan menyediakan persekitaran. Dan menambah kelas pengawal useraction.class.php, menambah kaedah aplikasi dalam kelas dan mengeluarkan baris teks.
Jadi, saya mula menulis semula fail nginx.conf secara berterusan, mulakan semula nginx dan sentiasa memuat semula alamat a.com/index.php/user/app. Hasilnya ialah sama ada gesaan rasuah alamat, 502, atau akses defind
Sehari lagi berlalu, dan saya mula berasa sedikit teragak-agak.

Akhirnya berterusan

Secara logiknya, saya rasa perlu ada duluan untuk nginx+thinkphp, tetapi saya tidak mencari jawapannya. Tiba-tiba saya berasa sangat keliru di Internet, dan saya tidak dapat mencari jawapan kepada soalan kecil. Malam ini, saya cuba menggunakan carian kata kunci nginx thinkphp lagi Selepas saya mengklik lebih daripada sepuluh halaman, saya menjumpai kod

Kod tersebut adalah seperti berikut:

lokasi / { 
jika (!-e $request_filename) {
tulis semula ^/(.*)$ /index.php/$1 last;
break;
}
}

lokasi ~ .php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
sertakan fcgi.conf;
set $real_script_name $fastcgi_script_name>; set $real_script_name $1;
set $path_info $2;
}
fastcgi_param script_filename $document_root$real_script_name;
fastcgi_param script_name $real_script_name;
fastcgi_param path_info $path_info;
}

Simpan perubahan, mulakan semula nginx, muat semula penyemak imbas

Bagaimana untuk mengkonfigurasi mod pathinfo dalam nginxSaya akhirnya lega kerana saya boleh mengaksesnya. Ia benar-benar tidak mudah.

Siarkan kod nginx.conf:



Salin kod Kod adalah seperti berikut:

pengguna www;
worker_processes 2;
worker_cpu_affinity 01 10;

us_log /data1/logs/nginx_error.log crit;
crit /nginx/nginx.pid;

worker_rlimit_nofile 65535;

acara
{
gunakan epoll;
worker_connections 65535;

{
sertakan mime.types;
default_type application/octet-stream;

server_names_hash_bucket_size 128;
client_header_buffer_size ; header_buffer_size 3 k;
klien_maks_badan_saiz 8m;

hantar fail dihidupkan;
tcp_nopush dihidupkan;

keepalive_timeout 60;
tcp_nodelay on;

cepat tamat_cgi_0>; masa tamat_cgi_0 00;
fastcgi_read_timeout 300 ;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size> dengar 80;
nama_server a.com ;
index index.php;
root /data0/htdocs/a.com/www;

lokasi/{
if (! -E $ request_filename) { menulis semula ^ /(.*)$ /index.php/$1 terakhir;
rehat;
}
}

lokasi ~ . fastcgi_index index.php;
sertakan fcgi.conf;
set $real_script_name $fastcgi_script_name;
jika ($.(fastcgi_script_name) ~ ".($.^) script_name ~" > tetapkan $real_script_name $1;
tetapkan $path_info $2;
}
fastcgi_param script_name param nama_fail_cgi_param $ nama_skrip $nama_skrip_sebenar;
fastcgi_param path_info $path_info;
}
}
}

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi mod pathinfo dalam nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!