我在使用.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
),但是当我输入以下内容时出现问题:
example.com/Šanti
,或example.com/Đin
,或example.com/Žal
,example.com/Čakra
,或example.com/Ćof
......如果我输入任何这些URL,则会显示页面,就好像我输入:
?open=encyclopedia
而不是?open=encyclopedia&letter=Š&term=Šanti
编辑:问题中包含非英文字母。
有什么解决办法吗?
example.com/Šanti
的期望重写是什么? - anubhavaexample.com/Šanti
应该重定向并打开?open=encyclopedia&letter=Š&term=Šanti
。这适用于所有其他的Đ,Č,Ć,Ž和DŽ字母。它是双重编码和缩短的。@Peter:你是什么意思? - user6494366