1

我想在我的 php 网站上添加一个“简单”的可翻译框架。我有法语和英语,将来可能还会更多。

我可以使用以下规则轻松地从 .htaccess 重定向到不同的语言:

RewriteRule ^Abonnement$ php/vigneron/inscription.php?la=fr [L,QSA]
RewriteRule ^Register$ php/vigneron/inscription.php?la=en [L,QSA] 

我的问题是:如果我不想在 php 中构建一个数组,将 Abonnement(法语页面)链接到 Register(简单 :) 英文页面),我必须输入丑陋的 URL:php/vigneron/inscription.php?la= XX 在我的语言选择框中,并且此 URL 在浏览器的地址栏中可见

所以我的问题是:.htaccess 中有没有办法将 php/vigneron/inscription.php?la=en 链接到注册?我是否错过了 .htaccess 行中的某些内容?我担心的是从干净的 URL 到真实路径文件的无限循环。

第二个问题与第一个问题非常接近:这些页面仍然可以使用长 URL:php/vigneron/inscription.php?la=en,有没有办法防止这种情况并通过 .htaccess 强制浏览器显示干净的 URL?

感谢您的观察和评论!

4

1 回答 1

1

So my question is : is there a way in .htaccess to link php/vigneron/inscription.php?la=en to Register ?

是的,当然可以。为此目的使用这些规则:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+php/vigneron/inscription\.php\?la=en[&\s] [NC]
RewriteRule ^ /register? [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+php/vigneron/inscription\.php\?la=fr[&\s] [NC]
RewriteRule ^ /Abonnement? [R=301,L]
于 2013-10-29T19:30:56.170 回答