我在我的多语言网站上重写有一个问题,或者更好,也许我不太理解它。
我最初的链接就像
www.mydomain.com/index.php?lang=en&s=2
我写这条规则:
RewriteEngine On RewriteRule ^([^/]*)/([^/]*)\.html$ index.php?lang=$1&s=$2 [L]
这是工作。事实上,如果我写在地址栏里
www.mydomain.com/en/2.html (smart url)
我走到正确的网页上,在地址栏上有一个更聪明的网址。
但是问题是我的代码上的链接仍然是:
<a href="index.php?lang=<?php echo $lang?>&s=2">link</a>
当我点击它时,地址栏上的URL是原始的,而不是智能的。
我认为关于htaccess的规则会自动“切换”(在地址栏中)我所有的链接都是在没有改变原来的php code...but的情况下进行的,也许我错了。如果我错了,我应该如何写我的链接,以便拥有智能urls,但传递变量来识别语言和页面?我很困惑。
谢谢。
发布于 2017-04-26 06:07:14
在您的<a href="index.php?lang=<?php echo $lang?>&s=2">link</a>
中重写URL之后,您还需要更改页面中的URL,例如在给定的链接.htaccess
中,您需要删除问号<a href="index.php/<?php echo $lang?>/2">
https://stackoverflow.com/questions/43634988
复制相似问题