Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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
Php 多语言网站_Php_.htaccess - Fatal编程技术网

Php 多语言网站

Php 多语言网站,php,.htaccess,Php,.htaccess,我想在我的网站上有两种语言。荷兰语和英语。我的根目录中的“en”和“nl”文件夹中已经有了英语和荷兰语网站 如何或什么是重定向它们的最佳方式。htaccess或PHP。你能告诉我怎么做吗?在我看来,访问似乎要容易得多。我猜,使用php时,您必须执行一个自动预编文件。要记住的另一件事是使用完全相同的页面,因此选择一种语言并将其用于url…即en/about_us.html和nl/about_us.html原因是,这样谷歌就可以找出哪些页面是相同的,但不同的语言。在重写方面,如果你已经准备好了文件夹

我想在我的网站上有两种语言。荷兰语和英语。我的根目录中的“en”和“nl”文件夹中已经有了英语和荷兰语网站


如何或什么是重定向它们的最佳方式。htaccess或PHP。你能告诉我怎么做吗?

在我看来,访问似乎要容易得多。我猜,使用php时,您必须执行一个自动预编文件。要记住的另一件事是使用完全相同的页面,因此选择一种语言并将其用于url…即en/about_us.html和nl/about_us.html原因是,这样谷歌就可以找出哪些页面是相同的,但不同的语言。在重写方面,如果你已经准备好了文件夹,那么我看不出你需要重写什么。你能给我更多的信息吗。每当我创建一个多语言站点时,我的控制器都是相同的(当然是在mvc环境中),我只有两个不同的视图。如果是那样的话,就要这样重写了

RewriteRule en/(.*).html /$1.php?language=en
RewriteRule nl/(.*).html /$1.php?language=nl

RewriteCond %{HTTP_ACCEPT_LANGUAGE} ^(en)
RewriteRule ^[^en/](.*) /en/$1 [R=301]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} ^(nl)
RewriteRule ^[^nl/](.*) /nl/$1 [R=301]

“重定向它们”。。。?重定向什么基于什么?请,请不要做类似cookie{lang=en | nl}的事情,在php中:lang=getCookie(“lang”),pathToPage='/application/'.lang./path/to/page'。因为它很容易进行目录遍历,这很糟糕:(页面名称确实是一样的。我是故意这么做的。我只希望我的客户能够自动发送到正确的语言。我正在使用cloudflare。也许这会很简单。啊,然后你会想做这样的事情:它在$\u服务器上['HTTP\u ACCEPT\u language']了解语言。在这种情况下,应该是php在自动预编程序中完成工作。我更喜欢htacces。你有解释这一点的网站吗?我看到你有这样一个网站:/$1.php?language=enI我不确定你的问题是什么……1美元意味着在()把它放在那里,我把?language=en放在这里,这样你的php文件就可以使用这个变量来确定它是什么语言。