我想在我的php网站上添加一个'简单'可翻译的框架。我有法语和英语,未来可能会更多。双向URL rewrting
我可以很容易地从的.htaccess重定向到一个不同的语言,这些规则:
RewriteRule ^Abonnement$ php/vigneron/inscription.php?la=fr [L,QSA]
RewriteRule ^Register$ php/vigneron/inscription.php?la=en [L,QSA]
我的问题是:如果我不希望建立在PHP连接Abonnement阵列(法语页面)注册(简单:)英文页面),我必须在我的语言选择框中输入丑陋的URL:php/vigneron/inscription.php?la = XX,并且该URL在浏览器的地址栏中可见
所以我的问题是:有没有办法在.htaccess链接php/vigneron/inscription.php?la = en到Register? 我错过了我的.htaccess文件中的内容吗? 我的恐惧是从干净的URL到真实的路径文件进行无限循环。
第二个问题非常接近第一个问题:页面仍然可以使用长URL:php/vigneron/inscription.php?la = en,是否有办法阻止这种情况并通过.htaccess强制浏览器显示干净网址?
感谢您的意见和评论!
我真的不知道如何感谢你,除非说你是.htaccess杀手!试图理解这个规则的逻辑:它是否意味着“[&s]”会通过所有其他的aguments,并且“^ [A-Z] {3,} \ s /”处理www + domaine的名字? – hugsbrugs
不客气。 '[A-Z] {3,}'表示ex的请求方法。 GET,POST,PUT等等,'[&\ s]'会匹配一个空格或'&'。这意味着参数'la = en'是最后一个参数或者后面有更多参数。 – anubhava