url用翻译htaccess重写

时间:2013-03-27 14:11:46

标签: .htaccess mod-rewrite url-rewriting

我有一个multilang网站,其中包含mysite.com/about.html等链接。对于所有语言,我都有翻译菜单中使用的单词。

我希望我的网址对于不同语言来说是动态的。例如,de的关于页面的链接将为mysite.com/de/de-about-translation.htmlde-about-translation.html内容保存在de语言的文件中。

以获得更多说明:

我在我的网站上有一个选择语言的菜单。这里用户可以在语言之间切换。当任何人想要切换到不同语言时,我想将所有菜单链接更改为所选语言  

我有一个用于各种语言菜单翻译的文件。对于Svenska,我的文件名是sv.php,我的文件内容如下:

   $_lang["about_tr"] = "about-translation-of-Svenska ";
   $_lang["archive_tr"] = " archive-translation-of-Svenska ";


 For Deutsch language file contents:


  $_lang["about_tr"] = "about-translation-of-Deutsch ";
  $_lang["archive_tr"] = " archive-translation-of-Deutsch ";

目前,我的链接如下:

mysite.com/about.html                 
mysite.com/archive.html 

我想要那些用于Deutsch语言的链接,如:

mysite.com/de/about-translation-of-Deutsch.html
mysite.com/de/about-translation-of-Deutsch.html

对于Svenska语言,这些链接应该是这样的:

mysite.com/se/about-translation-of-Svenska.html
mysite.com/se/archive-translation-of-Svenska.html

以及每种语言等等。

What kind of `RewriteRule` should I use in htaccess ?

1 个答案:

答案 0 :(得分:0)

  

示例:http://mysite.com/de/arkiv来   http://mysite.com/arkiv.html?lang=de

你可以在根目录下的一个.htaccess文件中尝试这样的东西。

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI}   !\.html             [NC]
RewriteRule ^([^/]+)/([^/]+)/?  /$2.html?lang=$1 [L,NC]

无声地映射

http://mysite.com/LangCode/filename显示在浏览器的地址栏中

要:

http://mysite.com/filename.html?lang=LangCode

选项:

如果您想要一个脚本(例如,LanguageScript)来处理所有语言,只需替换此行:

RewriteRule ^([^/]+)/([^/]+)/?  /$2.html?lang=$1 [L,NC]

这一个:

RewriteRule ^([^/]+)/([^/]+)/?  /LanguageScript.html?lang=$1 [L,NC]