angular - Angular 10 i18n .htaccess 重定向到子文件夹并从 URL 中删除子文件夹
问题描述
由于在 Angular 10 中使用了 i18n,我在不同的目录中获得了同一个项目的三个副本,并且一切正常。我的服务器上的分布如下:
- www.mydomain.com/frontend/en/(英语角项目)
- www.mydomain.com/frontend/es/(西班牙语角项目)
- www.mydomain.com/frontend/fr/(法文角项目)
当用户访问www.mydomain.com/frontend时,我设法使用以下 .htaccess 文件将他们重定向到正确的子文件夹
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^../index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (..) $1/index.html [L]
RewriteCond %{HTTP:Accept-Language} ^en [NC]
RewriteRule ^$ /frontend/en/ [R]
RewriteCond %{HTTP:Accept-Language} ^es [NC]
RewriteRule ^$ /frontend/es/ [R]
RewriteCond %{HTTP:Accept-Language} ^fr [NC]
RewriteRule ^$ /frontend/fr/ [R]
RewriteCond %{HTTP:Accept-Language} !^es [NC]
RewriteCond %{HTTP:Accept-Language} !^fr [NC]
RewriteRule ^$ /frontend/en/ [R]
</IfModule>
现在我希望除了重定向它们之外,还要从 url 中删除语言环境的一部分,但我无法做到这一点。如果有人可以帮助我,我将不胜感激。
最后一个例子,如果有人使用西班牙语浏览器访问我的网站,他或她应该看到的 URL 是 www.mydomain.com/frontend/(西班牙语中的 angular project)
解决方案
推荐阅读
- swift - 自定义 UINavigationBar 状态栏不包括背景图片
- c++ - 睡眠线程或进程的指令是否在线程/进程处于睡眠状态时继续执行?
- javascript - 如何将多个元素附加到一个div?
- c# - 带有 React 的 C# AWS Lambda 函数
- javascript - 监听来自另一个自定义元素的自定义事件
- java - rabbitmq/java - 通过愿望接收消息,而不是通过订阅
- wordpress - Wordpress 自定义模板给出错误 505
- java - 比较两个二进制字符串在java中只包含0和1,想找出哪个字符串在字典上更大
- c++ - 使用向量的 C++ 二叉树
- hive - Hive 多个连接非常慢