0

multilangのWebサイトがあり、のようなリンクがいくつかありますmysite.com/about.html。すべての言語について、メニューで使用されている単語の翻訳があります。

さまざまな言語に対してURLを動的にしたいと思います。アバウトページの私のリンクなどにdeなりますmysite.com/de/de-about-translation.html。コンテンツはその言語de-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 

次のようなドイツ語のリンクが必要です。

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

スウェーデン語の場合、これらのリンクは次のようになります。

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 ?
4

1 に答える 1

0

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

ルートディレクトリにある1つの.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]
于 2013-03-28T06:43:42.063 に答える