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+
传入的查询:
example.com/query/información@importante
example.com/query/महत्वपूर्ण@जानकारी
example.com/query/முக்கியமான@தகவல்
example.com/query/důležitá@informace
预期变量:
t=información
v=@
q=importante
答案 0 :(得分:1)
在query/.htaccess
中尝试此规则:
RewriteRule ^([^/@]+)(@)([^/]+)/?$ index.php?t=$1&v=$2&q=$3 [QSA,L]