Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.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 如果我不知道url,如何创建干净的链接_Php - Fatal编程技术网

Php 如果我不知道url,如何创建干净的链接

Php 如果我不知道url,如何创建干净的链接,php,Php,我尝试用不同的语言设计一个网站 如何创建提供干净url的链接?有些页面是动态的,所以,我不知道url,我正在寻找一种方法,使链接在任何页面工作 我知道我可以做到这一点,因为它在任何页面都有效: <a href='?lang=en'>en</a> <a href='?lang=fr'>fr</a> 请注意,这不仅仅是将fr更改为en。英语中没有/en/ 我发现我必须使用htaccess中的重写规则将myDomain/someFolder/file.

我尝试用不同的语言设计一个网站

如何创建提供干净url的链接?有些页面是动态的,所以,我不知道url,我正在寻找一种方法,使链接在任何页面工作

我知道我可以做到这一点,因为它在任何页面都有效:

<a href='?lang=en'>en</a>
<a href='?lang=fr'>fr</a>
请注意,这不仅仅是将fr更改为en。英语中没有/en/


我发现我必须使用htaccess中的重写规则将myDomain/someFolder/file.php更改为myDomain/Folder/file.php?lang=en但这不是重点,我的问题不同,我问:如果我不知道url,如何在html中创建干净的链接?

我会怎么做,这可不像.htaccess重写工具那么花哨

首先,我会做一些事情来获取当前页面的名称。这可以简单到:

$pagename = "contactme.html";
现在,我有一系列可用的语言:

$languages = array('en'=>'English','fr'=>'French','es'=>'Spanish');
这样,我就可以在每一页的顶部贴上:

Select your language: <?php
foreach($languages as $ln=>$language)
    print " <a href='mysite.com/$ln/$pagename'>$ln</a> ";

这将列出一系列缩写。他们可以是小旗吗?很多人都是这样。当然将锚点中的$ln更改为,并确保您拥有所有图像。它们可以是带有选择列表的表单吗?当然制作一个选择列表。在表单中添加“onchange”触发器以重新加载到正确的URL。他们能不能是一个超级花哨的旋转闪光动画?是的-如果你真的想做那么愚蠢的事情。

你可以按照自己的意愿在你的网站上写下你的链接。然后在.htaccess文件中写入规则。在htaccess中不需要重写规则。这只是一种方法。另一种方法是一个小php脚本,它在头中发送一个新位置。另一种方法是通过脚本选择元刷新标记。另一种方法是JavaScript,它有一个语言变量并重新加载到正确的页面。@kainaw:我很困惑。我已经在网上搜索了好几个小时的教程。开始的最佳选择是什么?可能重复@HamZa:我的问题不同。我的问题是,如果我不知道url,如何创建链接。我不想问如何重定向。这很有趣,但它没有回答我的问题。我不问如何选择语言。如果我不知道url,我会问如何建立链接。
Select your language: <?php
foreach($languages as $ln=>$language)
    print " <a href='mysite.com/$ln/$pagename'>$ln</a> ";