Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 国际网站(英语和德语),URL中包含GETTEXT和虚拟子目录_Apache_Internationalization_Gettext_Multilingual_Subdirectory - Fatal编程技术网

Apache 国际网站(英语和德语),URL中包含GETTEXT和虚拟子目录

Apache 国际网站(英语和德语),URL中包含GETTEXT和虚拟子目录,apache,internationalization,gettext,multilingual,subdirectory,Apache,Internationalization,Gettext,Multilingual,Subdirectory,我有一个网站,它使用两种语言:英语和德语。现在,我们使用一个cookie来存储用户的首选语言en/de,并相应地设置GETTEXT的语言: example.com/about-us.php 从我们的服务器页面“local path webspace/about us.php”加载英语或德语,具体取决于Cookie 然而,谷歌无法抓取我们的德语页面,因为他们的抓取程序没有设置cookies 我们想要实现的是,用户现在键入一个带有虚拟子目录的URL,并使用他们喜欢的语言: example.com/

我有一个网站,它使用两种语言:英语和德语。现在,我们使用一个cookie来存储用户的首选语言en/de,并相应地设置GETTEXT的语言:

example.com/about-us.php
从我们的服务器页面“local path webspace/about us.php”加载英语或德语,具体取决于Cookie

然而,谷歌无法抓取我们的德语页面,因为他们的抓取程序没有设置cookies

我们想要实现的是,用户现在键入一个带有虚拟子目录的URL,并使用他们喜欢的语言:

example.com/en/about-us.php
英语及

example.com/de/about-us.php 
德语的

上面的两个页面应该在我们的服务器本地路径webspace/about-us.php上加载相同的文件,也就是说,实际上不应该存在/en和/de虚拟文件夹,以避免代码冗余

在about-us.php文件中,我们应该能够知道哪个虚拟文件夹被称为/en或/de,以便能够定义将定义GETTEXT语言的会话变量。理想情况下使用$SERVER[REQUEST URI]或PHP的某个全局变量

我们试图用APACHE中的ALIAS_MOD替换它,但没有成功。这样做对吗


任何帮助都将不胜感激

我认为使用重写引擎来转换/en resp/de内部获取参数是更好的方法。谢谢CBroe。这种方法的问题是,对于一些已经有参数的页面,我必须为重写引擎添加不同的逻辑&在末尾,而不是?如果不存在Get参数。我在这一点上卡住了。你知道解决这个问题的办法吗?谢谢只需使用[QSA]标志将原始查询字符串附加到重写期间添加的新参数即可。重写引擎将负责处理?而且&正确地说。