1

ここでたくさん検索して、この実装についてグーグルで検索しましたが、わかりません。

つまり、私は 3 つの言語のポートフォリオ サイト (1 つのページ) を持っています。フラグ (IT、EN、FR) をクリックするたびに、php ファイルが読み込まれます。その中には、選択した言語に基づいて翻訳された文章/単語がたくさんあります。

**質問:
最終的な URL は次のようになります: localhost/site/index.php?lang=en(English lang をクリックした場合)。
私はそれを次のように書き直したい:localhost/site/en

htaccessファイルの書き方は?**

このヒントに従いました-> PHPでファイル構造をシミュレートします

そしてこれ:

RewriteEngine on
RewriteRule ^en/(.*)\.html$ /$1.php?language=english [L,QSA]

なぜ機能しないのか理解できません。

その他の詳細:
- wamp サーバー
- mod_rewrite がアクティブ化されまし
た - シングル ページ サイト (jquery)
- firefox

ありがとうございました。

4

2 に答える 2

0

これはうまくいきます

RewriteRule ^(.*).html index.php?lang=$1 [L]

あなたのURLはlocalhost/site/en.html

于 2014-07-19T19:13:08.500 に答える
0

あなたの .htaccess は、これらの行に沿ったものになりたいです:

IndexIgnore */*

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php

index.php に存在しないファイルへのリクエストを送信します。

次に、PHP で URL を確認し、必要に応じてサービスを提供します。

$uri = $_SERVER["REQUEST_URI"];
$uriParts = explode("/", $uri);
$language = end($uriParts);

if ($language == "en) {
....

予想される言語と一致しない場合は、404 をスローする価値があります。

于 2013-03-20T13:49:11.383 に答える