2016-04-07 28 views
0

Kısa süre önce bir alt etki alanımı ana etki alanına taşıdım ancak URL yapısını da değiştirdim. Ana etki alanına taşırkenNginx: url yapısından bağımsız olarak yönlendirme

Daha önce ben Arabistan'dan tüm karmaşık URL'ler kaldırıldı http://sub.domain.com/companies/my-company-id/year/2012/charts

gibi sayfalar vardı olsun: rewrite ^/companies/(.*)$ http://www.domain.com/companies/$1 permanent; ama birisi gidin: Şu anda aşağıdaki kuralı var http://www.domain.com/companies/my-company

http://sub.domain.com/companies/my-company/2012/charts gibi bir sayfada http://www,.domain.com/companies/my-company/2012/charts adresine yönlendirilir ve bir 404'e sahip olurlar.

http://www,.domain.com/companies/my-company-id adresine yeniden yönlendirmeyi zorlamak isterim Şirketim-kimliği

cevap

1

Şu anda 1 $ parametresi, URI'yi/şirketlerinden sonra alıyor, böylece orijinal yola yönlendiriliyorsunuz. Şirket kimliğini sadece 1 $ 'dan çıkarmalısınız. bunu kullanın:

İşte

rewrite ^/companies/(.*)/(.*)$ http://www.domain.com/companies/$1 permanent;

şirket id sonra URI geri kalanı yeniden yazma durumunda gerekli değildir parametre $ 2, satışa sunulacak.

+0

Bu cevabı daha önce kabul ettim ama aslında http://sub.domain.com/companies/company-id'e isabet ettiğimde hiçbir şey olmuyor. – bl0b

+0

Place 2 rewrite rules: 'rewrite ^/companies /(.*)/(.*)$ http://www.domain.com/companies/$1 kalıcı; Her iki koşulu ele almak için ^/şirketler /(.*)/$ http://www.domain.com/companies/$1 kalıcı; İlk yeniden yazma kuralı http://sub.domain.com/companies/my-company-id/year/2012/charts adresine benzer URL'leri işleyecek ve ikinci kural alt.domain.com/companies/company- için yönlendirme işlemlerini gerçekleştirecektir. İD/ – nidhi