I Think it is best for an Application to be webserver agnostic. That way it does not matter what web server that is in front of your application. <div><br></div><div>There is cases where it makes sense to depend on NGINX for rewrites, but I don't believe language is one of them. </div>
<div>For an example we run a big Ruby On Rails platform that hosts lots of articles. We need to count the article hits every hour, and to do article.hits = article.hits + 1 for every hit on an article hit. </div><div>To not stress our backend, and because hitting rails is costly, we do a rewrite like this:</div>
<div><a href="Http://site.com/article/15753/articlehit">Http://site.com/article/15753/articlehit</a></div><div><br></div><div>Which is hitting a NodeJS application that does the before mentioned operation and saves the result in memcache. </div>
<div><br></div><div>We do localization like this:</div>H = Hostname.find('<a href="http://kaspergrubbe.dk">kaspergrubbe.dk</a>')<br><div>H.locale # returns 'da' for Danish locale</div><div><br></div><div>We then load up our i18n localization API with the locale and scope content based on locale. </div>
<div><br></div><div>This solution is great for multiple domains. If you are not that fortunate do <a href="http://site.com/:locale">site.com/:locale</a> and if the locale is not there you could redirect the user based on location/ip/etc. <span></span></div>