Jadual Kandungan
Pengetahuan prasyarat
Nginx
lokasi
Peraturan padanan biasa
Rumah Operasi dan penyelenggaraan Nginx Bagaimanakah Nginx menyelesaikan masalah 404 penyegaran halaman dalam mod sejarah?

Bagaimanakah Nginx menyelesaikan masalah 404 penyegaran halaman dalam mod sejarah?

May 13, 2023 pm 02:40 PM
nginx history

    Pengetahuan prasyarat

    • Aplikasi halaman tunggal (SPA - aplikasi halaman tunggal)
      Hanya muatkan halaman untuk kali pertama Apabila, satu-satunya halaman HTML dan sumber statik awamnya dikembalikan, dan lompatan halaman berikutnya tidak akan mengambil fail HTML daripada pelayan. (Hash dan penghalaan sejarah melaksanakan perubahan URL penyemak imbas tanpa memuat semula halaman)

    • penghalaan cincang
      Contoh: www.baidu.com/#/home, pada asalnya cincang digunakan untuk menggabungkan The anchor point merealisasikan kawalan paparan halaman Apabila nilai selepas # berubah, halaman tidak akan diminta semula Ini terutamanya dicapai melalui kaedah onhashchange.

    • pengalihan sejarah
      Berbanding dengan penghalaan cincang, perubahan yang paling intuitif ialah tiada # dalam penghalaan Dengan memanggil satu siri kaedah pada objek window.history, the halaman tidak dimuat semula Jump(pushState, replaceState).

    Dalam mod sejarah, kerana url telah berubah, jika anda memuat semula halaman secara manual pada masa ini, penyemak imbas berpendapat ia meminta halaman baharu (memulakan permintaan Http baharu), dan halaman baharu ialah Tidak wujud (jika bahagian belakang tidak dikonfigurasikan), menghasilkan 404.

    Mari kita terangkan secara ringkas apa yang berlaku selepas memasukkan IP atau nama domain pada penyemak imbas (rasanya agak seperti soalan temuduga????) Selepas menekan Enter, http yang dihantar oleh pelayar akan meminta html. Selepas beberapa siri pemajuan dan penghuraian alamat, fail diterima oleh port 80 (lalai) pada pelayan di mana IP sasaran terletak Pada masa ini, masalah timbul Selepas antara muka pelayan menerima permintaan HTTP, ia tidak tahu apa yang perlu dilakukan. Untuk mengembalikan sesuatu, kali ini anda memerlukan Nginx untuk melaksanakan proksi sumber statik dan memberitahu pelayan fail statik yang hendak dikembalikan

    Nginx

    Untuk projek umum penyebaran, kita perlu mengendalikan fail konfigurasi conf
    Apa yang anda perlu tahu tentang fail ini adalah seperti berikut

       ....
       # http 是指令块,针对http网络传输的一些指令配置
       http {
           #文件扩展名与文件类型映射表 
           include mime.types;
           #设置客户端与服务端请求的超时时间
           keepalive_timeout  65;
           # 开启压缩功能,目的:提高传输效率,节省带宽 
           gzip on
           server {
              #监听端口
              listen   80;
              #服务命名,最好就是用这个服务器的域名命名
              server_name localhost;
              #指令块,配置外部访问资源和实际资源的对应关系
              location /{
                  root /usr/blog; #表示静态资源所在的目录
                  index  index.html index.htm; #访问这个路径对应的默认静态资源文件或者网页
              }
           }
       }
    Salin selepas log masuk

    lokasi

    Sintaks

       location [=|~|~*|^~|@] uri { ... } 
       location @name { ... }
    Salin selepas log masuk
    • =: menunjukkan padanan tepat

    • ~: Menunjukkan padanan biasa sensitif huruf besar/kecil

    • ~*: Menunjukkan padanan biasa tidak sensitif huruf besar/kecil

    • ^~: Menunjukkan bahawa URI bermula dengan rentetan biasa

    • !~: Menunjukkan ketidakpadanan ungkapan biasa sensitif huruf kecil

    • !~*: Menunjukkan tidak padanan biasa tidak peka huruf besar dan kecil

    • /: Padanan universal, sebarang permintaan akan dipadankan dengan

    Peraturan padanan biasa

       # 将所有请求直接转发给服务器的9090端口
        location = / {
          proxy_pass http://127.0.0.1:9090/;
        }
        # 目录匹配 
        location ^~ /static/ { 
            root /webroot/static/;
        } 
        # 后缀匹配 
        location ~* \.(gif|jpg|jpeg|png|css|js|ico)$ { 
            root /webroot/res/; 
        }
        # 将/account/开始的请求转发给Account服务器
        location /account/ {
            proxy_pass http://127.0.0.1:8080/
        }
        # 将/order/开始的请求转发给Order服务器
        location /order/ {
            proxy_pass http://127.0.0.1:9090/
        }
    Salin selepas log masuk
    < Perbezaan antara 🎜>root dan alias

    ialah cara nginx mentafsir url selepas lokasi

    [root]

    Sintaks : laluan akar
    Nilai lalai: root html
    Bahagian konfigurasi: http, pelayan, lokasi, jika
    Hasil pemprosesan: laluan akar + laluan lokasi

    [alias]

    Sintaks: laluan alias
    Bahagian konfigurasi :lokasi
    Hasil pemprosesan: Gunakan laluan alias untuk menggantikan laluan lokasi

       # 返回/www/root/html/t/a.html的文件
       location ^~ /t/ { 
           root /www/root/html/;
       } 
       # 返回/www/root/html/new_t/a.html的文件 
       # 把location后面配置的路径丢弃掉,把当前匹配到的目录指向到指定的目录。 
       location ^~ /t/ { 
           alias /www/root/html/new_t/; 
       }
    Salin selepas log masuk
    Selesaikan masalah 404 selepas memuat semula

    Daripada pengetahuan di atas, kita boleh tahu bahawa selepas menyegarkan, penyemak imbas akan Url semasa digunakan untuk meminta fail html, tetapi SPA hanya mempunyai satu fail html, jadi anda perlu mengkonfigurasi baris kod

    di lokasi yang sepadan daripada nginx.conf untuk memberitahu nginx untuk menyemak sama ada fail itu wujud mengikut urutan, dan jika ia tidak wujud, ubah hala ke fail htmltry_files $uri $uri/ /index.html;

    Atas ialah kandungan terperinci Bagaimanakah Nginx menyelesaikan masalah 404 penyegaran halaman dalam mod sejarah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    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

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    AI Hentai Generator

    AI Hentai Generator

    Menjana ai hentai secara percuma.

    Artikel Panas

    R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
    4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Tetapan grafik terbaik
    4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
    4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Arahan sembang dan cara menggunakannya
    4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

    Alat panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    Cara Mengkonfigurasi Nginx di Windows Cara Mengkonfigurasi Nginx di Windows Apr 14, 2025 pm 12:57 PM

    Bagaimana cara mengkonfigurasi nginx di Windows? Pasang Nginx dan buat konfigurasi hos maya. Ubah suai fail konfigurasi utama dan sertakan konfigurasi hos maya. Mulakan atau Muat semula Nginx. Uji konfigurasi dan lihat laman web. Selektif membolehkan SSL dan mengkonfigurasi sijil SSL. Selektif tetapkan firewall untuk membolehkan trafik port 80 dan 443.

    Cara memulakan nginx di linux Cara memulakan nginx di linux Apr 14, 2025 pm 12:51 PM

    Langkah -langkah untuk memulakan Nginx di Linux: Periksa sama ada Nginx dipasang. Gunakan SistemCTL Mula Nginx untuk memulakan perkhidmatan Nginx. Gunakan SistemCTL Dayakan NGINX untuk membolehkan permulaan automatik Nginx pada permulaan sistem. Gunakan Status SistemCTL Nginx untuk mengesahkan bahawa permulaan berjaya. Lawati http: // localhost dalam pelayar web untuk melihat halaman selamat datang lalai.

    Cara memeriksa sama ada nginx dimulakan Cara memeriksa sama ada nginx dimulakan Apr 14, 2025 pm 01:03 PM

    Bagaimana untuk mengesahkan sama ada nginx dimulakan: 1. Gunakan baris arahan: status sistem sistem nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. Periksa sama ada port 80 dibuka; 3. Semak mesej permulaan Nginx dalam log sistem; 4. Gunakan alat pihak ketiga, seperti Nagios, Zabbix, dan Icinga.

    Cara menyelesaikan nginx403 Cara menyelesaikan nginx403 Apr 14, 2025 am 10:33 AM

    Bagaimana untuk memperbaiki kesilapan dilarang nginx 403? Semak keizinan fail atau direktori; 2. Semak .htaccess File; 3. Semak fail konfigurasi nginx; 4. Mulakan semula nginx. Penyebab lain yang mungkin termasuk peraturan firewall, tetapan selinux, atau isu aplikasi.

    Cara memulakan pelayan nginx Cara memulakan pelayan nginx Apr 14, 2025 pm 12:27 PM

    Memulakan pelayan Nginx memerlukan langkah-langkah yang berbeza mengikut sistem operasi yang berbeza: Sistem Linux/Unix: Pasang pakej Nginx (contohnya, menggunakan apt-get atau yum). Gunakan SystemCTL untuk memulakan perkhidmatan Nginx (contohnya, SUDO SystemCTL Mula Nginx). Sistem Windows: Muat turun dan pasang fail binari Windows. Mula Nginx menggunakan nginx.exe executable (contohnya, nginx.exe -c conf \ nginx.conf). Tidak kira sistem operasi yang anda gunakan, anda boleh mengakses IP pelayan

    Bagaimana untuk memeriksa sama ada Nginx dimulakan? Bagaimana untuk memeriksa sama ada Nginx dimulakan? Apr 14, 2025 pm 12:48 PM

    Di Linux, gunakan arahan berikut untuk memeriksa sama ada nginx dimulakan: Hakim status SistemCTL Nginx berdasarkan output arahan: Jika "Aktif: Aktif (Running)" dipaparkan, Nginx dimulakan. Jika "aktif: tidak aktif (mati)" dipaparkan, nginx dihentikan.

    Cara menyelesaikan ralat nginx403 Cara menyelesaikan ralat nginx403 Apr 14, 2025 pm 12:54 PM

    Pelayan tidak mempunyai kebenaran untuk mengakses sumber yang diminta, mengakibatkan ralat NGINX 403. Penyelesaian termasuk: Periksa keizinan fail. Semak konfigurasi .htaccess. Semak konfigurasi Nginx. Konfigurasikan keizinan Selinux. Semak peraturan firewall. Menyelesaikan masalah lain seperti masalah penyemak imbas, kegagalan pelayan, atau kesilapan lain yang mungkin.

    Cara menyelesaikan ralat nginx304 Cara menyelesaikan ralat nginx304 Apr 14, 2025 pm 12:45 PM

    Jawab kepada Soalan: 304 Tidak diubahsuai ralat menunjukkan bahawa penyemak imbas telah cache versi sumber terkini permintaan klien. Penyelesaian: 1. Kosongkan cache penyemak imbas; 2. Lumpuhkan cache penyemak imbas; 3. Konfigurasi nginx untuk membolehkan cache pelanggan; 4. Periksa keizinan fail; 5. Semak fail hash; 6. Lumpuhkan CDN atau cache proksi terbalik; 7. Mulakan semula nginx.

    See all articles