[英]Routing in static html landing page
我有一個基於 js/css/html 的小型投資組合登陸頁面。 沒有框架/CMS,只有純靜態 html。 入口點是包含英語內容的index.html
文件。
我想在我的網站上使用翻譯: index.ru.html
、 index.ua.html
,但我不想在地址欄中看到任何*.html
或index.ua
。 用戶可以通過我頁面頂部的按鈕更改語言。
我該如何路由:
http://mysite/en
顯示index.html
- 首先進入站點http://mysite/ru
顯示index.ru.html
http://mysite/ua
顯示index.ua.html
?
我也可以路由到特定的 div/section html 標簽:用戶輸入http://mysite/ru/contacts
以在index.ru.html
顯示聯系人部分? 滾動頁面也必須改變url...是真的嗎?
也許我需要使用微框架來滿足我的小需求?
編輯:
在這個網站上找到了很好的例子 - http://www.even.lv/
嘗試將其添加到您的 Root/.htaccess :
RewriteEngine On
RewriteBase /
RewriteRule ^en/?$ index.html [NC,L]
RewriteRule ^(ru|ua)$ index.$1.html [NC,L]
這會將“/en”重定向到“/index.html”,將“/ru”重定向到“index.ru.html”。
可能正在使用引導滾動間諜,您可以將用戶帶到特定部分。 如果您不希望在這種情況下更改 url,ajax 會幫助您。 使用 jQuery,您可以觸發選擇更改函數 jQuery("#language-select").change(function(){ // 您的邏輯在此處嘗試 ajax 以更改頁面上的部分。})
為每種語言制作目錄並將相關頁面放入其中。
允許您省略完整 url 的唯一機制是 Web 服務器提供“默認”頁面的能力,在您的情況下是 index.html
出於同樣的原因,要支持 mysite/ru/contacts,您需要一個目錄結構:
mysite/
ru/
contacts/
index.html
換句話說,使用純 html 頁面並且不使用重寫,您可以使用 webroot 之外的目錄並創建許多單獨的 index.html 頁面來完成您的結構。
另一種選擇是使用重寫規則,就像使用 mod_rewrite 和 apache web 服務器可用的那些規則一樣。
這些規則需要對正則表達式有很好的理解。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.