我有一个基于js / css / html的小型投资组合登陆页面。没有框架/ CMS,只是纯静态HTML。入口点为index.html
文件,内容为英语。
我想在我的网站上使用翻译:{{1}},index.ru.html
,但我不想在地址栏中看到任何index.ua.html
或*.html
。用户可以通过页面顶部的按钮更改语言。
我如何路线:
index.ua
显示http://mysite/en
- 首先进入网站index.html
显示http://mysite/ru
index.ru.html
显示http://mysite/ua
我也可以路由到特定的div / section html标记:用户输入index.ua.html
以显示http://mysite/ru/contacts
中的联系人部分吗?滚动页面也必须更改网址...它是否真实?
也许我需要使用微框架来满足我的小需求?
修改
在此网站上找到了一个很好的例子 - http://www.even.lv/
答案 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服务器提供的规则。
这些规则要求对正则表达式有良好的理解。