Apache重写用于简单的HTML站点国际化

时间:2014-03-28 13:14:30

标签: html apache .htaccess mod-rewrite rewrite

我创建了一个简单的HTML网站(单个index.html页面),其中有两个按钮可在语言之间切换(IT< - > EN)。意大利语index.html位于it子文件夹中,英语index.html位于en子文件夹中。这些按钮通过将/en/替换为/it/来修改URL,反之亦然,允许在页面之间切换。一切都在当地工作正常。好。

在服务器上,我有这个文件夹树

root (www.mysite.com)
  .htaccess (rules for rewriting)
  public_html
    index.html (a blank page)
    it
      index.html
    en
      index.html

访问www.mysite.com我按预期获得空白索引。在.htaccess上添加RewriteEngine On并访问www.mysite.com/public_html/it/index.html,我访问意大利语索引并且语言切换按钮工作正常(在/en/index.html中它也有效) )。细

我想要的是:

  1. www.mysite.com会自动转到意大利语索引,但不显示完整的网址(www.mysite.com/public_html/it/index.html),只显示根网址(www.mysite.com)或至少是网址没有" public_html" (www.mysite.com/it/index.html)
  2. 语言切换按钮必须正常工作
  3. 我设法得到了第1点,所以我通过将其添加到.htaccess来访问带有www.mysite.com网址的意大利语索引:

    RewriteRule public_html/index.html public_html/it/index.html
    

    问题在于,按钮无法正常工作(我认为问题在于,网址中实际上没有任何/it/可以切换为/en/) 。所以我认为我需要一个更复杂的"重写规则。

    任何人都可以帮助我吗?

    非常感谢!

    MIX

1 个答案:

答案 0 :(得分:0)

你只需要在root .htaccess中使用这个规则:

RewriteEngine On

RewriteRule ^$ /it/index.html [L]