如何编写htaccess - mod_rewrite规则来检索多种语言的查询字符串值?

时间:2017-03-23 16:52:41

标签: php .htaccess mod-rewrite utf-8 multilingual

RewriteRule

^([a-zA-Z0-9%_-]+)([\.|\/|@|%])([a-zA-Z0-9%_-]+)/$ index.php?t=$1&v=$2&q=$3 [QSA]

这是捕获查询字符串值的尝试。我应该如何替换

[a-zA-Z0-9%_-] 

这样所有UTF-8或那些UTF-16值都被视为有效输入?

环境为Apache2 - PHP 5.6+

传入的查询:

  1. example.com/query/información@importante
  2. example.com/query/महत्वपूर्ण@जानकारी
  3. example.com/query/முக்கியமான@தகவல்
  4. example.com/query/důležitá@informace
  5. 预期变量:

    • t=información
    • v=@
    • q=importante

1 个答案:

答案 0 :(得分:1)

query/.htaccess中尝试此规则:

RewriteRule ^([^/@]+)(@)([^/]+)/?$ index.php?t=$1&v=$2&q=$3 [QSA,L]