Bagaimana Cara NGINX dan Jekyll Berjalan Lancar Dengan Clean URL?

Sewaktu saya menggunakan Jekyll dengan Web Server NGINX (baca: enjin X / Ngingg 😂),

saya mendapati problem url untuk artikel tidak bisa dibuka. Hal ini disebabkan oleh clean url, yang biasanya domain.com/artikel.html sekarang jadi domain.com/artikel tanpa dot html. Ini yang membuat NGINX pusing dan mengeluarkan 404 Not Found. Karena Nginx gak tau file html mana yg harus di-request.

Solusinya tinggal tambahkan kode berikut di konfig NGINX bagian blok server :

if (!-f "${request_filename}index.html") {
    rewrite ^/(.*)/$ /$1 permanent;
}

if ($request_uri ~* "/index.html") {
    rewrite (?i)^(.*)index\.html$ $1 permanent;
}   

if ($request_uri ~* ".html") {
    rewrite (?i)^(.*)/(.*)\.html $1/$2 permanent;
}

Oke sudah, ternyata setelah jalan dan saya masukkan url ngawur, seharusnya 404.html keluar, namun ini tidak. Malah kembali ke halaman home. Maka solusinya tambahkan di bagian location seperti berikut :

location / {
        try_files $uri.html $uri $uri/ /404.html;
    }

BONUS TIPS : Ini untuk jekyll, daripada root dokumen web servernya masih di /var/www/html ganti saja ke ~/folderjekyll/_site

Baik sekian dulu dari saya, terimakasih

kamu di halaman ini selama .