我有一个多语言网站,我想在URI中显示当前语言,如下所示:
URI:
www.domain.com/en/
www.domain.com/en/folder1/
www.domain.com/de/
www.domain.com/de/folder2/
目录:
public_html/
public_html/folder1/
public_html/
public_html/folder2/
然后将en或de保存在cookie中以处理语言代码。 有可能做到这些吗?即使没有en或de? p>的实际文件夹
答案 0 :(得分:0)
您可以使用mod_rewrite在内部重写URI以删除语言,并使用CO
标志来设置cookie。所以像这样(在你的文档根目录中的htaccess文件中):
RewriteEngine On
# first check the the folder/file actually exists:
RewriteCond %{REQUEST_URI} ^/[a-z]{2}/(.*)$
RewriteCond %{DOCUMENT_ROOT}/%1 -f [OR]
RewriteCond %{DOCUMENT_ROOT}/%1 -d
# rewrite and set cookie:
RewriteRule ^/?([a-z]{2})/(.*)$ /$2 [L,CO=lang:$1:domain.com]
这将设置名为 lang 的Cookie,其值等于原始URI中的2个字母前缀,并且域名为 domain.com 。