Ubuntu 10.04 LTS、Apacheバージョン2.2.14を実行しています。
Httpd.confには、次のような書き換えルールがあります。
RewriteRule (*UTF8)^/users/([^/])([^/]+)/(.*)$ /users/$1/$2/$1$2/$3 [L]
アイデアは、私のサーバーでディレクトリを国際化ドメイン名(IDN)に設定することです。
私は得続けます
RewriteRule: cannot compile regular expression
それが悪魔バージョンか何か他のものかどうか何か考えはありますか?
(*UTF8)
は有効な正規表現ではないため、なぜそれを要求しているのかわかりません。正規表現の.*
などは、UTF8でエンコードされているかどうかに関係なく、どの文字とも一致します。あなたが参照しているのはPerlです-utf8サポートの明示的な有効化を必要とするmod_rewriteではありません。
Mod_rewriteの場合、特定のエンコーディングを特別な方法で処理しようとしていますが、この場合は必要ありません。
つまり、
RewriteRule ^/users/(.*)$ /newusers/$1 [L]
一致します:
/users/café
等々。ただし、[a-zA-Z]
のような文字クラスを使用するとutf8と一致しないことに注意してください。