4

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

我想在我的网站上使用翻译:index.ru.html, index.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/

4

3 回答 3

2

Try adding this to your Root/.htaccess :

RewriteEngine On
RewriteBase /
RewriteRule ^en/?$ index.html [NC,L] 
RewriteRule ^(ru|ua)$ index.$1.html [NC,L]

This will redirect "/en" to "/index.html" and "/ru" to "index.ru.html".

于 2015-07-31T05:53:35.020 回答
0

可能正在使用引导滚动间谍,您可以将用户带到特定部分。如果您不希望在这种情况下更改 url,ajax 会帮助您。使用 jQuery,您可以触发选择更改功能 jQuery("#language-select").change(function(){ // 您的逻辑在这里尝试 ajax 以更改页面上的部分。})

于 2015-07-31T05:28:32.503 回答
0

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

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

出于同样的原因,为了支持 mysite/ru/contacts,您需要一个目录结构:

mysite/
      ru/
        contacts/
             index.html

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

另一种选择是使用重写规则,如使用 mod_rewrite 和 apache Web 服务器可用的规则。

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

于 2015-07-31T05:29:46.143 回答