Konfigurasi PHP Nginx 404 lompat halaman
Nginx ialah HTTP berprestasi tinggi dan pelayan proksi terbalik, dan PHP ialah bahasa skrip sebelah pelayan yang sangat popular. Pengguna biasanya melihat halaman ralat 404 apabila fail atau halaman tertentu dalam tapak web atau aplikasi web anda tidak dapat diakses dengan betul. Ini kerana pelayan tidak dapat mencari sumber atau halaman yang diminta, menyebabkan ralat 404 dikembalikan. Dalam kes ini, anda boleh mengkonfigurasi Nginx dan PHP untuk mengubah hala ke halaman 404 tersuai untuk meningkatkan pengalaman pengguna dan memberikan mereka lebih banyak maklumat.
Mengkonfigurasi Nginx
Mula-mula, anda perlu mengedit fail konfigurasi Nginx. Ini boleh dilakukan dengan arahan berikut:
sudo nano /etc/nginx/sites-available/default
Cari baris berikut dalam blok pelayan:
location / {
Tambah kod berikut untuk mengkonfigurasi Nginx untuk mengendalikan 404 ralat:
# if the requested file does not exist, redirect to 404 page error_page 404 /404.html; location = /404.html { root /var/www/html; internal; }
Ini akan memberitahu Nginx untuk melompat ke halaman 404.html jika halaman yang diminta tidak wujud. Jika halaman 404 anda tiada dalam folder /var/www/html, anda perlu menggantikan laluan dengan laluan ke folder tempat anda sebenarnya menyimpan halaman 404.
Anda boleh menguji sama ada konfigurasi ini berfungsi menggunakan kod berikut:
sudo nginx -t
Jika tiada ralat, anda akan melihat mesej yang menunjukkan bahawa sintaks fail konfigurasi Nginx adalah betul:
nginx: configuration file /etc/nginx/nginx.conf test is successful
Akhir sekali, mulakan semula pelayan Nginx untuk perubahan berkuat kuasa.
sudo systemctl restart nginx
Mengkonfigurasi PHP
Langkah seterusnya ialah mengkonfigurasi penterjemah PHP untuk menangkap dan mengendalikan 404 ralat. Ini boleh dilakukan dengan menambahkan kod berikut pada fail htaccess dalam rangka kerja PHP atau CMS yang anda gunakan:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /404.php [L,QSA]
Ini akan memberitahu PHP untuk melompat ke 404 jika halaman yang diminta tidak wujud muka surat. Jika halaman 404 anda tidak terletak di akar tapak web anda, anda perlu menggantikan laluan dengan laluan ke folder tempat anda sebenarnya menyimpan halaman 404.
Tambahkan kod ini pada fail .htaccess anda menggunakan kod berikut:
sudo nano /var/www/html/.htaccess
Penting: Jika tapak web anda menggunakan Nginx sebagai pelayan proksi terbalik yang menghadap ke hadapan, anda tidak boleh menggunakan dokumen .htaccess . Dalam kes ini, anda perlu menambah kod ini pada kod PHP anda.
Buat Halaman 404
Akhir sekali, anda perlu mencipta halaman 404 tersuai. Ini adalah peluang anda untuk memberikan pengguna maklumat lanjut tentang sumber yang diminta atau halaman yang tidak ditemui.
Buka editor teks anda dan buat fail baharu bernama 404.php. Anda boleh menggunakan kod sampel berikut sebagai titik permulaan:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>404 Not Found</title> </head> <body> <h1>404 Not Found</h1> <p>The requested URL was not found on this server.</p> </body> </html>
Anda bebas menambah butiran lanjut, seperti pautan ke halaman lain atau sumber yang anda ingin pengguna cuba, dsb.
Letakkan halaman 404
Letakkan fail 404.php anda ke dalam direktori akar tapak web atau aplikasi anda atau folder yang ditetapkan (bergantung pada kod PHP dan konfigurasi Nginx anda). Anda boleh menggunakan arahan berikut untuk menyalin fail ke lokasi yang betul:
sudo cp /path/to/404.php /var/www/html/
Jika anda menyimpan halaman 404 dalam folder lain, anda perlu menggantikan laluan di atas dengan laluan folder.
Selesai
Selepas melengkapkan semua konfigurasi, anda sepatutnya boleh melompat ke halaman 404 tersuai apabila pengguna meminta halaman atau sumber tidak ditemui. Halaman 404 anda harus memberikan lebih banyak maklumat kepada pengguna dan meningkatkan pengalaman mereka.
Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi lompat halaman 404 dalam php nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!