如何忽略 URL 中的 'en' 部分 - 多语言网站

How to ignore 'en' portion in URL - multi-language website

我正在创建一个多语言网站,它使用 URL 的一部分来确定语言,动态地 使用 PHP数组。我这样做是为了让每种语言都有自己的 url:

 https://website.com/en/home.php
 https://website.com/nl/home.php

这种情况下的问题是,当使用 https://website.com/en/home.php 访问英文网站时,网站会尝试打开位于以下文件夹的文件:
(root)/> zh > home.php

虽然文件实际位于:
(root)/> home.php

是否可以在打开 HTML 文件时 "ignore" URL 中的 语言部分 ,但没有重定向,因此用户仍然当他们导航到页面时会看到它。

我尝试使用 <base> html 标签,但没有用。

如有任何帮助,我们将不胜感激!

要创建路由器,您可以按照教程进行操作 here

您特别需要更改 .htaccess 文件以包含

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php [QSA,L]

这会将所有请求重定向到 index.php

index.php 将需要包含:

<?php

$request = $_SERVER['REDIRECT_URL'];

switch ($request) {
    case '/' :
        require __DIR__ . '/home.php';
        break;
    case '/en/home.php' :
        require __DIR__ . '/home.php';
        break;
    case '' :
        require __DIR__ . '/home.php';
        break;
    default:
        require __DIR__ . '/404.php';
        break;
    }

这样,所有重定向到 index.php 的请求都会根据您在此路由器中指定的请求 url 显示特定页面。