.htaccess htaccess多语言站点
大家好,感谢您提供的任何提示/信息.htaccess htaccess多语言站点,.htaccess,multilingual,.htaccess,Multilingual,大家好,感谢您提供的任何提示/信息 我们有一个静态网站,大约有100页(html)英文版 现在,我们将其升级为3种语言的动态部件 我们想做的是: 英文版:/path/to/page.html 在其他版本中:/language/path/to/page.html 在这两种情况下,实际内容都由一个php文件提供,类似于page.php?lang=english或page.php?lang=french 一般重写规则如下所示: RewriteRule ^/path/to/page.html$ p
我们有一个静态网站,大约有100页(html)英文版
现在,我们将其升级为3种语言的动态部件
我们想做的是:
英文版:
/path/to/page.html
在其他版本中:
/language/path/to/page.html
在这两种情况下,实际内容都由一个php文件提供,类似于
page.php?lang=english
或page.php?lang=french
一般重写规则如下所示:
RewriteRule ^/path/to/page.html$ page.php?lang=$1 [NC,L]
我的问题是我不知道如何根据$lang
修改此规则所以,如果
$lang=english
或者如果$lang=''
,规则将被写入/path/to/page.html
在所有其他lases中,规则将是
$lang/path/to/page.html
这可以通过htaccess实现吗 首先,最好有一套内容,而不是每个语言都有重复的内容(如果我理解正确的话) 我们的网站上有多种语言(工作中),我们将翻译存储在数据库中,然后加载所选语言的相应翻译 但如果这种方法对你很有效,那么你可以忽略这一点:) 我做过类似的事情,可能会有所帮助:
# 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
这些规则正确吗?你没有根据前两条规则多次重写吗?是的,有正确的。第一条规则适用于未通过的语言,因此默认为英语,第二条规则适用于通过的语言。