1

在过去的几天里,我一直致力于创建一个基于 PHP 的多语言网站。我已经尝试了很多解决方案,但到目前为止没有运气。

这就是我希望我的 URL 的外观:
http ://www.example.com/en/about
http://www.example.com/cs/o-nas
等。

在我决定实现多语言支持之前,我一直在使用这个重写规则,它工作得很好:

RewriteBase /kittytea/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-zA-Z0-9_-]+)$ ?page=$1 [L]

我的链接如下所示:

<a href="about">

有没有人知道如何添加多语言支持?我熟悉使用 GET 方法传递 URL 参数。

我可能会补充一点,我正在使用一个简单的 PHP SWITCH 语句来加载各个网站部分。

PS - 这是一个非常小的网站,我不需要一流的解决方案。我只是想让它工作:)

谢谢!

4

1 回答 1

1

您可以尝试将 2 个字母的语言代码作为重写的一部分:

RewriteBase /kittytea/

# with language
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]{2})/([a-zA-Z0-9_-]+)$ ?lang=$1&page=$2 [L]

# original, without language
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-zA-Z0-9_-]+)$ ?page=$1 [L]

然后,您的 php 脚本需要检查lang参数中的 2 个字母语言代码并返回适当的内容。

然后,您需要将链接更改为:

<a href="en/about">
于 2012-12-25T09:46:11.327 回答