我想在我的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