Я развернул приложение Angular i18n
, поэтому у меня есть две сборки - одна для пользователей, говорящих на немецком языке, и одна для пользователей, говорящих на английском языке, и остальной мир.
Для развертывания я уже настроил firebase.json
для перенаправления в подкаталог /de
при запуске. Есть ли способ перенаправить в подкаталог предпочтительного языка, определенного в конфигурации браузера (или en, если предпочитаемый язык не найден)?
{
"hosting": {
"public": "dist/tudor",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"redirects": [
{
"source" : "/",
"destination" : "/de",
"type" : 301
}
],
"rewrites": [
{
"source": "/en/**",
"destination": "/en/index.html"
},
{
"source": "/de/**",
"destination": "/de/index.html"
}
]
}
}
Apache эквивалент:
<VirtualHost *:80>
ServerName www.myapp.com
DocumentRoot /var/www
<Directory "/var/www">
RewriteEngine on
RewriteBase /
RewriteRule ^../index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (..) $1/index.html [L]
RewriteCond %{HTTP:Accept-Language} ^fr [NC]
RewriteRule ^$ /fr/ [R]
RewriteCond %{HTTP:Accept-Language} ^es [NC]
RewriteRule ^$ /es/ [R]
RewriteCond %{HTTP:Accept-Language} !^es [NC]
RewriteCond %{HTTP:Accept-Language} !^fr [NC]
RewriteRule ^$ /en/ [R]
</Directory>
</VirtualHost>