2016-04-04 10 views
0

Im'i al. Ama ilginç bir problemim var.URI'yi, tasarladığım bir uygulama için oynatmayı kullanmayı düşündüğüm bir parametre olarak

Bu site bir CD dizisidir. Readthedocs.org-ish düşünün. Sadece benimkinden çok daha fazla jenerik okumuştum.

Üstesinden gelmeyi denediğim problem bir uri'yi parametre olarak geçirmektir. Sizi URL

mysite.com/viewer/group2/app1/1.0.0/static/bla/bla/foo.jpg 

viewer vermek eğer öyleyse denetleyici olduğunu. group2, app1 ve 1.0.0 basit yolu parametreleri vardır, ama son parametre static/bla/bla/foo.jpg

nasıl ben oyunda olduğu yönlendirme yapmalıyım nedir?

herhalde başka alternatif

mysite.com/viewer/group2/app1/1.0.0?static/bla/bla/foo.jpg 

olurdu ama bu mevcut HTML ile müdahale etmemesini korkuyorum. Bu uygulama javadoc, scaladoc, sphinxdoc, doxygen, vb. Için kurumsal bir depo olarak tasarlanmaktadır. CI sunucumuz dokümanlar derlemek, bunları sıkıştırmak ve onları dinlenme hizmetine sunacak. Geri kalan servis, daha sonra bunları çözecek ve büyük olasılıkla bireysel dosyaları S3'e gönderecektir. Ancak, mevcut HTML'de bulunan URL'leri S3 URL'lerine ve sayfadaki iframe'e eşlemek için html'yi görüntülemek ve html işlevini normal olarak (her şeyi ayrıştırmak ve URL'leri değiştirmek zorunda kalmadan) normal olarak görüntülemek için bu görüntüleyici denetleyicisine ihtiyacım var. Aynı zamanda, derin bağlantı yeteneği yoksa bu site oldukça sınırlı.

cevap

1

dinamik parçası ileriye eğik çizgiler ile ayrılmış, tek URL yolu segmentinde daha yakalamak istiyorsanız, .+ normal ifadeyi kullanır *id sözdizimi kullanılarak dinamik bir kısmını tanımlayabilirsiniz:

GET /files/*name controllers.Application.download(name)

GET /files/images/logo.png gibi bir istek için, dinamik parça adı images/logo.png değerini yakalayacaktır.