.htaccess 将URL重定向到包含Unicode字符的URL(emoji)

kjthegm6  于 2022-11-16  发布在  其他
关注(0)|答案(2)|浏览(131)

首先,我想创建一个新的主页URL,所以我的新主页应该是www.example.com/abc而不是www.example.com
因此,无论用户键入什么URL,例如www.example.com/blabla,我们都需要将其重定向到www.example.com/abc/blablabla
如果我是正确的,下面的代码可以做到这一点:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/abc.*
Rewriterule ^(.*)$ /abc/$1 [R=301,L]

现在问题来了。
我的新基不是abc,而是🌐。这个'地球仪'的URL有效值是%F0%9F%8C%90。所以你可能认为这很容易,替换上面.htaccess代码片段中的所有abc,就完成了,但不幸的是事实并非如此。
希望有人能帮我。
此致,TK

更新日期:

转到www.example.com将导致类似www.example.nl/%25F0FC0%25F0FC0%25F0FC0%25F0FC0%25F0FC0%25F0FC0%25F0FC0%25F0FC0%25F0FC0%25F0FC0%25F0FC0%25F0FC0%25F0FC0%25F0FC0%25F0FC0%25F0FC0%25F0FC0%25F0FC0%25F0FC0%25F0FC0%25F0FC0的循环。
请注意,除了循环之外,也不会显示图标。
在我的示例中,.htaccess如下所示:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/%F0%9F%8C%90.*
Rewriterule ^(.*)$ /%F0%9F%8C%90$1 [R=301,L]

更新2:

好的,我通过添加NE作为标志和反斜杠unicode字符修复了图标部分。

RewriteCond %{REQUEST_URI} !^/%F0%9F%8C%90.*
Rewriterule ^(.*)$ /\%F0\%9F\%8C\%90/$1 [NE,R=301,L]

因此:

www.example.com

现在导致

www.example.com/🌐/🌐/🌐/🌐/🌐/🌐/🌐/.....

但仍然得到了循环。:(...有人有主意吗?

bis0qfac

bis0qfac1#

回答:

只需将abc替换为实际的图标🌐。确保使用可以处理这些unicode图标的编辑器来执行此操作... PhpStorm不能,但TextMate或Sublime可以正常工作。

crcmnpdw

crcmnpdw2#

记事本++也能正常工作,^^也许它会有所帮助。

相关问题