我正试图在Twitter上分享包含阿拉伯字符的网址时遇到问题:
http://example.com/قرعة-تصفيات-أفريقيا-مصر-تواجه-نيجيريا/
当我点击"分享"推文框中显示了相同的网址,但是当我实际发推文时,它只链接到http://example.com
,其余的网址都会丢失。
我尝试使用urlencode()
,但生成的网址过长,推文不可能。我怎么能解决这个问题?
答案 0 :(得分:1)
如果您是网站所有者,可以编写htaccess RewriteRule
以生成更短或英文网址或使用重定向文件。
RewriteEngine on
RewriteRule ^redirect/(.*)/?$ ./redirector.php?key=$1 [QSA,L,NC]
答案 1 :(得分:0)
您可以在 .htaccess 文件中使用 RewriteRule ,或使用更短的网址服务
答案 2 :(得分:0)
这是一个有两个方面的问题:网络和演示文稿。
除ASCII字符外,URL永远不会传递。例如,当您请求
http://example.com/عربي
它会产生错误或,具体取决于您的客户,例如Chrome ,将被转换为:
http://example.com/%D8%B9%D8%B1%D8%A8%D9%8A
Internet浏览器会尽力以最易读的方式呈现此内容。例如,当您请求以下URL时:
http://example.com/%D8%B9%D8%B1%D8%A8%D9%8A
Chrome会将其呈现给用户:
http://example.com/عربي
Chrome的作用还在于复制和粘贴。因此,当您在顶部栏中复制URL并且它具有Unicode字符时,它将复制http://example.com/%D8%B9%D8%B1%D8%A8%D9%8A
而不是http://example.com/عربي
。现在您需要做的是检查Twitter如何处理此问题。它可能已经进行了一些演示以减轻用户体验。但是,在网络方面,您实际上不能做很多事情。
答案 3 :(得分:-1)
我使用网址缩短网站,例如 goo.gl ;然而,发布一个普通的URL会比较费时。