Saya melayani situs statis melalui nginx, dan tujuan saya adalah mengganti URL yang terlihat seperti:
dengan
Kuncinya adalah tidak ada garis miring. Saat ini saya sedang melakukan sesuatu yang mirip dengan menggunakan alias lokasi tetapi ini membosankan karena memerlukan blok lokasi untuk setiap file, dan itu juga menambahkan garis miring karena nginx melihat alias sebagai direktori:
location / {
root /srv/www/foo/public_html;
index index.html;
}
location /bar1 {
alias /srv/www/foo/public_html/;
index bar1.html;
}
location /bar2 {
alias /srv/www/foo/public_html/;
index bar2.html;
}
Dan seterusnya. Saya telah membaca dokumentasi tentang penulisan ulang, dan sepertinya saya tidak dapat mensintesis apa yang dikatakan untuk apa yang saya butuhkan. Saya tidak datang dari latar belakang Apache; nginx adalah perampokan pertama saya ke server web jadi saya yakin saya kehilangan sesuatu yang jelas karena latar belakang HTTP saya lemah. Terima kasih sebelumnya atas bantuan yang dapat Anda berikan.
try_files $uri.html $uri/ =404;
menjadi SEO SEO yang lebih baik, karena Anda tidak akan memiliki dua url foobar.com/bar dan foobar.com/bar.html menunjuk ke sumber daya yang sama.Per komentar dari @Khaja, jawaban terbaik adalah:
Sehingga hanya satu salinan dari sumber daya yang dilayani (tanpa ekstensi .html). Anda tidak ingin membagi kekuatan tautan Anda dengan beberapa URL yang menyajikan konten duplikat. Temukan dokumentasinya di sini .
sumber