簡體   English   中英

在靜態 html 登陸頁面中路由

[英]Routing in static html landing page

我有一個基於 js/css/html 的小型投資組合登陸頁面。 沒有框架/CMS,只有純靜態 html。 入口點是包含英語內容的index.html文件。

我想在我的網站上使用翻譯: index.ru.htmlindex.ua.html ,但我不想在地址欄中看到任何*.htmlindex.ua 用戶可以通過我頁面頂部的按鈕更改語言。

我該如何路由:

  1. http://mysite/en顯示index.html - 首先進入站點
  2. http://mysite/ru顯示index.ru.html
  3. 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM