我正在创建一个多语言网站,它使用URL的一部分来确定语言,并使用PHP数组动态填充页面内容。我这样做是为了让每种语言都有自己的网址:
https://website.com/en/home.php
https://website.com/nl/home.php
在这种情况下的问题是,当使用 https://website.com/en/home.php 访问英文网站时,该网站会尝试打开位于该文件夹中的文件:
(根(/> en>家.php
虽然文件实际位于:
(根(/>家.php
在打开 HTML 文件时"忽略"URL 中的语言部分,但不重定向,以便用户在导航到页面时仍然看到它。
我尝试使用 <base>
html 标签,这不起作用。
任何帮助将不胜感激!
要创建路由器,您可以按照此处的教程进行操作
您特别需要更改您的 .htaccess 文件以包含
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php [QSA,L]
这会将所有请求重定向到索引.php
索引.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 显示特定页面。