首页 > 解决方案 > Angular 10 i18n .htaccess 重定向到子文件夹并从 URL 中删除子文件夹

问题描述

由于在 Angular 10 中使用了 i18n,我在不同的目录中获得了同一个项目的三个副本,并且一切正常。我的服务器上的分布如下:

当用户访问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)

标签: angular.htaccessinternationalization

解决方案


推荐阅读