0 レビュー
1 回答
php-htaccess言語ベースの仮想サブフォルダー
よし、 ユーザーのブラウザ言語用の仮想サブフォルダを作成しようとしています。
つまり、次のフォルダ構造になっています:
www/
Core/
Classes/
Autoloader.Class.php
Smarty.Class.php
Database.Class.php
LoadingOrder.json
Libraries/
Smarty.Class.BC.php
Smarty.Class.php
SmartyModules/
..
Modules/
Autoloader.Module.php
Wall.Module.php
Account.Module.php
LoadingOrder.json
Engine.php
Initialize.php
Templates/
Default/
css/
main.css
style.css
ErrorHandler.css
images/
javascript/
jquery.js
Main.tpl
User.tpl
ErrorHandler.tpl
.htaccess
index.php
user.php
ErrorHandler.php
必要なのは、多言語のWebサイトを作成することです。
例:
ユーザーが自分のページに移動したい: http://site.domain/user
私が実装したいのは、彼のブラウザ言語に基づいて、彼を
にリダイレクトすることです。 http://site.domain/en/user
-彼が英語を話す場合 http://site.domain/ru/user
-彼がロシア語を話す場合 http://site.domain/pt/user
-彼がポルトガル語を話す場合。
重要なのは、これらの言語サブフォルダーは仮想のみであり、すべての要求はルートディレクトリにあるuser.phpのみに対して行われる必要があるということです。
グーグルで検索したところ、http://battle.netにこのようなシステムがあることがわかりました。
では、htaccessまたはその純粋なphpを介してこのようなシステムを作成することは可能ですか?
わからない
0
レビュー
答え :
解決策:
このコードをDOCUMENT_ROOT/.htaccess
ファイルに入れます:
RewriteEngine On
RewriteCond %{HTTP:Accept-Language} ^([a-z]{2})- [NC]
RewriteRule ^user/?$ /%1%{REQUEST_URI} [L,NC,R]
RewriteRule ^([a-z]{2})/(user)/?$ /$2.php?lang=$1 [L,NC,QSA]
これにより、ブラウザで /user
が/en /user
にリダイレクトされますが、/userが読み込まれます。 php?lang = en
サイレント。
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。