【问题标题】:htaccess multilanguage sitehtaccess 多语言网站
【发布时间】:2011-06-29 06:53:21
【问题描述】:

大家好,感谢您提供的任何提示/信息
我们有一个静态网站,有大约 100 个英文页面 (html)
现在我们将其升级为部分动态并支持 3 种语言
我们想做的是:

英文版:/path/to/page.html
在其他版本中:/language/path/to/page.html

在这两种情况下,实际内容都由单个 php 文件提供,例如 page.php?lang=englishpage.php?lang=french

一般的重写规则如下所示:

RewriteRule ^/path/to/page.html$ page.php?lang=$1 [NC,L]

我的问题是我不知道如何根据$lang 修改此规则。
因此,如果 $lang=englishif $lang='',则规则将转换为 /path/to/page.html

在所有其他激光规则中,$lang/path/to/page.html


这可以通过htaccess来完成吗?

【问题讨论】:

    标签: .htaccess multilingual


    【解决方案1】:

    首先,最好有一组内容,而不是每种语言的重复内容(如果我理解正确的话。

    我们的网站(工作中)有多种语言,我们将翻译存储在数据库中,然后为所选语言加载适当的语言。

    但如果这种方式对你很有效,那么你可以忽略这个:)

    我做了类似的事情可能会有所帮助:

    # Force English
    # for http://www.website.com/
    RewriteRule ^$ page.php?lang=EN
    
    # English
    # for http://www.website.com/EN/
    RewriteRule ^EN/?$ page.php?lang=EN
    
    # Other Languages
    # for http://www.website.com/DE/ etc
    RewriteRule ^(DE|FR|ES)/?$ $1/path/to/page.php?lang=$1
    

    【讨论】:

    • 这些规则正确吗?您没有根据前两条规则进行多次重写吗?
    • 是的,有正确的。第一条规则适用于未通过语言的情况,因此默认为英语,第二条适用于通过语言的情况。
    猜你喜欢
    • 2012-04-16
    • 2013-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    • 2020-04-29
    • 2010-09-16
    • 1970-01-01
    相关资源
    最近更新 更多