1

mod_rewrite を使用した Apache を使用していますが、アクセント記号付きの文字を含む URI を入力すると、Apache から「ページが見つかりません」というエラーが表示されます。

URI は次のとおりです: /places/tags/Café

私のページのエンコーディングはUTF-8です。データベース接続とテーブルは UTF-8 です。私の Apache DefaultCharacterSet = UTF-8. はい、Apache には言語パックがありますが、それらは URI ではなく、ページ コンテンツ用にあると思います。

URL をパーセント記号や html エンティティにエンコードしたくないので、1 億行のデータでは特殊文字を取り除くことは現時点では実用的ではありません。

どんな助けでも大歓迎です。

4

1 に答える 1

2

Apacheの書き換えルールが間違っていたことが判明しました。私が使用していた: ([a-zA-Z0-9_-] ) UTF-8 文字は a-zA-Z の一部ではありません。ルールを次のように変更します: (. ) これは、任意の文字 (ASCII、UTF-8、またはその他) を意味します。正常に動作しているようです。

于 2008-11-06T19:34:00.163 に答える