gpt4 book ai didi

php - .HTACCESS Unicode 识别/编码

转载 作者:搜寻专家 更新时间:2023-10-31 21:00:20 25 4
gpt4 key购买 nike

我的 .htaccess 中的 URL 简写有问题。

也就是说,这个(现在是旧的)代码一切正常......

# URL ShortCut Maker.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} .(.+)$
RewriteRule ^(.) ?open=encyclopedia&letter=$1&term=%1 [B,L,NC]

它将 URL 正确显示为 example.com/Modesty(它显示的页面就像 URL 将是 /?open=encyclopedia&letter=m&term=modesty),< strong>but 当我输入时出现问题:example.com/Šanti,或者
example.com/Đin
example.com/Žal,
example.com/Čakra,或者
example.com/Ćof...
...如果我输入这些 URL 中的任何一个 - 它显示的页面就像我输入的一样:
?open=encyclopedia 而不是
?open=encyclopedia&letter=Š&term=Šanti

编辑:有问题的非英语字母。

有什么解决办法吗?

最佳答案

您可以使用以下规则更改现有规则:

RewriteEngine On

RewriteBase /

# executes repeatedly as long as there are more than 1 spaces in URI
RewriteRule "^(\S*)\s+(\S* .*)$" $1+$2 [N,NE]

# executes when there is exactly 1 space in URI
RewriteRule "^(\S*)\s(\S*)$" $1+$2 [L,R=302,NE]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

RewriteRule ^([A-Z](?:[^\x00-\x7F]+|[A-Z])?).*$ ?open=encyclopedia&letter=$1&term=$0 [B,L,QSA]

RewriteRule ^([^\x00-\x7F]+).*$ ?open=encyclopedia&letter=$1&term=$0 [B,L,QSA]

否定字符类 [^\x00-\x7F] 匹配 ASCII 范围之外的任何字符。

关于php - .HTACCESS Unicode 识别/编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44491639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com