Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.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/3/arrays/14.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数组和?lang=)?_Php_Arrays_Lang - Fatal编程技术网

单击链接后如何维护以前选择的语言(我使用php数组和?lang=)?

单击链接后如何维护以前选择的语言(我使用php数组和?lang=)?,php,arrays,lang,Php,Arrays,Lang,我有以下代码: <html> <head> <title><?php echo $GLOBALS['L']['title']; ?></title> </head> <body> <ul id="language-selection"> <li><a h

我有以下代码:

  <html>
        <head>
            <title><?php echo $GLOBALS['L']['title']; ?></title>
        </head>
        <body>
            <ul id="language-selection">
                <li><a href="index.php?lang=english">English</a></li>
                <li><a href="index.php?lang=french">French</a></li>
            </ul>
            <h1><?php echo $GLOBALS['L']['h1']; ?></h1>
            <p><?php echo $GLOBALS['L']['p1']; ?></p>
            <ul id="language-selection">
                <li><a href="about.php">About Page</a></li>
                <li><a href="contact.php">Contact Page</a></li>
            </ul>
        </body>
    </html>
换句话说,我希望URL记住
?lang=
结尾。
最好的方法是什么?

您需要了解如何在会话中存储信息


您需要了解如何在会话中存储信息


您必须将其附加到每个传出链接:

 <li><a href="about.php<?php echo "?lang=".$GLOBALS['L']; ?>">About Page</a></li>
并在内部将它们映射到

www.example.com/about.php?lang=en
有一个初学者指南和官方文档

我不是mod_重写大师,但这对我来说很有用:

 RewriteEngine on
 Options +FollowSymlinks

 RewriteCond %{REQUEST_URI} ^/([a-z][a-z])(/.*)?$      
 RewriteRule (.*) %2?lang=%1&%{QUERY_STRING}
它映射

  • www.domain.com/en/about.php
    /about.php?lang=en

  • www.domain.com/fr/about.php
    /about.php?lang=fr

  • www.domain.com/es/
    /?lang=es
    =通常为index.php


它映射两个字母的任何出现,小写
www.example.com/xy
,因此您的根目录中不应该有两个字母来处理此问题。

您必须将其附加到每个传出链接:

 <li><a href="about.php<?php echo "?lang=".$GLOBALS['L']; ?>">About Page</a></li>
并在内部将它们映射到

www.example.com/about.php?lang=en
有一个初学者指南和官方文档

我不是mod_重写大师,但这对我来说很有用:

 RewriteEngine on
 Options +FollowSymlinks

 RewriteCond %{REQUEST_URI} ^/([a-z][a-z])(/.*)?$      
 RewriteRule (.*) %2?lang=%1&%{QUERY_STRING}
它映射

  • www.domain.com/en/about.php
    /about.php?lang=en

  • www.domain.com/fr/about.php
    /about.php?lang=fr

  • www.domain.com/es/
    /?lang=es
    =通常为index.php


它映射了两个字母的任何出现,小写
www.example.com/xy
,因此您的根级别上不应该有任何包含两个字母的目录来处理此问题。

您可能希望查看并将持久选项存储在其中。如果您愿意,它的优点是允许用户将链接复制到其他人,而不必强制他们进行设置。

您可能希望查看并将持久性选项存储在那里。如果您愿意,它的优点是允许用户将链接复制到其他人,而无需强制他们进行设置。

您可以使用将该参数添加到URL。在输出内容之前,只需调用以下命令:

output_add_rewrite_var('lang', $language);
您可以使用将该参数添加到URL。在输出内容之前,只需调用以下命令:

output_add_rewrite_var('lang', $language);

会话不起作用,因为我可以用英语打开一个选项卡,另一个用法语打开。会话不起作用,因为我可以用英语打开一个选项卡,另一个用法语打开一个选项卡。+1是的,我的服务器启用了它。谢谢,但是我如何将教程应用到我的示例中呢?我尝试了第一个示例,URL结果如下:发生了什么事?@jano稍等,我会写一个示例。+1始终在URL中保留您的语言。您可以使用来自
/
的自动重定向,根据
接受语言
标题或帐户设置选择默认语言,但在此之后,页面的每个语言版本通常应有不同的URL,以便用户可以根据需要在语言之间导航,搜索引擎可以为每种语言编制索引。你甚至不必使用重写来实现这一点;您可以使用一个简单的
别名
将每种语言指向同一组PHP文件,然后让脚本嗅探
$\u服务器['script\u NAME']
选择要显示的语言。+1是的,我的服务器启用了它。谢谢,但是我如何将教程应用到我的示例中呢?我尝试了第一个示例,URL结果如下:发生了什么事?@jano稍等,我会写一个示例。+1始终在URL中保留您的语言。您可以使用来自
/
的自动重定向,根据
接受语言
标题或帐户设置选择默认语言,但在此之后,页面的每个语言版本通常应有不同的URL,以便用户可以根据需要在语言之间导航,搜索引擎可以为每种语言编制索引。你甚至不必使用重写来实现这一点;您可以使用一个简单的
别名
将每种语言指向同一组PHP文件,然后让脚本嗅探
$\u服务器['script\u NAME']
选择要显示的语言。