Why multilingual site url is not working in production site? I have multilingual site such as www.demo.com and bn.demo.com it works fine at dev and local site. but when i deployed at production it's url language is not working. 

When I hit www.demo.com it goes english site. and then when i hit bn.demo.com it should come at bangla site but the strings are not translated. 

Surprisingly when I logged in then switch url the translated string works fine. Why it does not works at logged out situation? how can I resolve it?

And my .htaccess files and rewrite condition

# (http://example.com/... will be redirected to http://www.example.com/...)
# uncomment the following:

RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^(www|bn)\. [NC]
RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Just a beginner's suggestion... when you migrate your site, did you turn off clean URLs, clear cache and put into maintenance mode before migrating?  If not, I suggest you try that then turn back on clean URLs, and take out of maintenance mode.