在静态html登录页面中路由

时间:2015-07-31 05:14:30

标签: html .htaccess routing static-pages

我有一个基于js / css / html的小型投资组合登陆页面。没有框架/ CMS,只是纯静态HTML。入口点为index.html文件,内容为英语。

我想在我的网站上使用翻译:{{1​​}},index.ru.html,但我不想在地址栏中看到任何index.ua.html*.html 。用户可以通过页面顶部的按钮更改语言。

我如何路线:

  1. index.ua显示http://mysite/en - 首先进入网站
  2. index.html显示http://mysite/ru
  3. index.ru.html显示http://mysite/ua
  4. 我也可以路由到特定的div / section html标记:用户输入index.ua.html以显示http://mysite/ru/contacts中的联系人部分吗?滚动页面也必须更改网址...它是否真实?

    也许我需要使用微框架来满足我的小需求?

    修改

    在此网站上找到了一个很好的例子 - http://www.even.lv/

3 个答案:

答案 0 :(得分:1)

尝试将此添加到您的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”。

答案 1 :(得分:0)

可能会使用引导滚动间谍,您可以将用户带到特定部分。如果你不想在这种情况下改变网址,ajax会帮助你。使用jQuery你可以触发选择更改函数jQuery(“#language-select”)。change(function(){//你的逻辑在这里尝试ajax来改变页面上的部分。})

答案 2 :(得分:0)

为每种语言创建目录并将相关页面放入其中。

您拥有的唯一允许您省略完整网址的机制是Web服务器能够提供"默认"页面,在您的情况下是index.html

以同样的方式支持mysite / ru / contacts,你需要一个目录结构:

mysite/
      ru/
        contacts/
             index.html

换句话说,使用纯html页面而不使用重写,您可以使用webroot下的目录完成结构并创建许多单独的index.html页面。

另一种选择是使用重写规则,例如使用mod_rewrite和apache web服务器提供的规则。

这些规则要求对正则表达式有良好的理解。