重定向特定(但很多)URL以包含特定文本


Redirecting specific (but a lot of) URLs to include specific text

问题:

首先,我的网站是使用WordPress。我在很多链接上使用facebook共享程序,这些链接在URL中包含#或片段标识符。问题是脸书共享者不允许这样做,并停止了链接。

例如,如果我的链接是:example.com/europe/#comment-123

facebook共享者将把它改为:example.com/europe

我已经能够更改它,因此facebook共享者的URL将显示如下:example.com/europe/123这是在facebook共享者代码的"[URL]="部分使用此代码实现的:

<?php echo esc_url ( get_permalink()); ?><?php comment_ID(); ?>

我试图解决这个问题的一种方法是尝试使用以下代码回复"#comment-":

<?php echo esc_url ( get_permalink()); ?><?php echo "#comment-" ?><?php comment_ID(); ?>

但脸书分享者再次停止了这种显示。

所需解决方案:

1) 如果有人知道任何代码,将允许facebook共享者超链接片段标识符

2) 我在其他地方读到一个可能的解决方案是重定向。因此,如果我能让facebook共享者显示example.com/europe/123的url,并将其重定向到example.com/europa/#comment-123,那就好了。我需要在所有评论中都这样做,所以无论页面是什么,无论是欧洲、亚洲还是非洲,只要有人在后面加上一个数字,如果自动在数字之前加上"#comment-"

然而,如果我有几个example.com/europeexample.com/asia等形式的页面,我想这会变得更加困难。

您尝试过urlencode()吗

urlencode('example.com/europe/#comment-123');