Yol düğümünü kaldırmak için Nginx yeniden yazma kuralı


20

Bir kullanıcının aşağıdaki URL'yi kullanarak web sitemdeki belirli bir resme erişmeye çalıştığını varsayalım: http://www.mywebsite.com/blog/image1.jpg?someParam=100

i 'blog' düğüm yolundan kaldırarak, bu bir yeniden yazma kuralı gerekir:

http://www.mywebsite.com/image1.jpg?someParam=100

Yanıtlar:


27

Bunu dene:

location /blog {
 rewrite ^/blog(/.*)$ $1 last;
}

Birden fazla site için buna ihtiyacınız varsa, hiyerarşide daha yükseğe koyamazsınız çünkü "location" deyimi genel olarak, yalnızca belirli site için belirtilemez. Bu cümleyi iki veya daha fazla site için eklemeniz gerekiyorsa, başka bir yapılandırma dosyası ekleyebilir ve bu yönlendirmeye ihtiyaç duyan her siteye "dahil edebilirsiniz".


Bu, aynı sunucuda çalışır. Farklı alan adı için nasıl çalışır?
Autodidact

1
Yeni alan adını yeniden yazmanın bir parçası olarak ekleyin: rewrite ^/blog(/.*)$ https://blog.example.com$1 permanent;
Christophe
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.