Php url中重复了Wordpress查询变量

Php url中重复了Wordpress查询变量,php,wordpress,apache,.htaccess,mod-rewrite,Php,Wordpress,Apache,.htaccess,Mod Rewrite,我有一个wordpress站点正在复制url中的查询变量,即: https://mysite.co.uk/?test=test?test=test?test=test?test=test Wordpress版本是4.7.3 添加查询变量的代码是 function custom_query_vars_filter($vars) { $vars[] = 'letter'; return $vars; } function get_ispa_pagination() {

我有一个wordpress站点正在复制url中的查询变量,即:

https://mysite.co.uk/?test=test?test=test?test=test?test=test
Wordpress版本是4.7.3

添加查询变量的代码是

function custom_query_vars_filter($vars) {
  $vars[] = 'letter';
  return $vars;
}
  function get_ispa_pagination() {
            $output = '';
            $letters= Array(
                'A,B,C',
                'D,E,F',
                'G,H,I',
                'J,K,L',
                'M,N,O',
                'P,Q,R',
                'S,T,U',
                'V,W,X',
                'Y,Z'
            );

            $output .= '<span class="epx-pagination">';
            $total = count($letters);
            $count = 1;

            foreach($letters as $letter) {
                $output .= '<a href="' . esc_url(add_query_arg('letter', $letter)) . '">'.$item.'</a>';
                if($count < $total) {
                    $output .= ' | ';
                }
                $count++;
            }
            $output .= '</span>';
            return $output;
    }
添加过滤器(“查询变量”、“自定义查询变量过滤器”)

生成包含查询变量的链接的代码是

function custom_query_vars_filter($vars) {
  $vars[] = 'letter';
  return $vars;
}
  function get_ispa_pagination() {
            $output = '';
            $letters= Array(
                'A,B,C',
                'D,E,F',
                'G,H,I',
                'J,K,L',
                'M,N,O',
                'P,Q,R',
                'S,T,U',
                'V,W,X',
                'Y,Z'
            );

            $output .= '<span class="epx-pagination">';
            $total = count($letters);
            $count = 1;

            foreach($letters as $letter) {
                $output .= '<a href="' . esc_url(add_query_arg('letter', $letter)) . '">'.$item.'</a>';
                if($count < $total) {
                    $output .= ' | ';
                }
                $count++;
            }
            $output .= '</span>';
            return $output;
    }
通常会停用所有插件并使用默认主题,但问题仍然存在

从.htaccess文件中删除强制SSL,因为这是问题出现之前添加到站点的最后一件事。这并没有解决问题

我倾向于认为这个问题是由.htaccess文件或服务器而不是Wordpress引起的。.htaccess文件包含

# BEGIN Force SSL
<IfModule rewrite_module>
  RewriteEngine on
  RewriteBase /
  RewriteCond %{HTTPS} !^on$ [NC]
  RewriteCond %{HTTP:X-Forwarded-Proto} !^https$ [NC]
  RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
# END Force SSL

# BEGIN s2Member GZIP exclusions
<IfModule rewrite_module>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{QUERY_STRING} (^|\?|&)s2member_file_download\=.+ [OR]
    RewriteCond %{QUERY_STRING} (^|\?|&)no-gzip\=1
    RewriteRule .* - [E=no-gzip:1]
</IfModule>
# END s2Member GZIP exclusions

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
#开始强制SSL
重新启动发动机
重写基/
重写cond%{HTTPS}^美元[NC]
重写cond%{HTTP:X-Forwarded-Proto}^https$[NC]
重写规则。*https://%{HTTP_HOST}%{REQUEST_URI}[R=301,L]
#端力SSL
#开始成员GZIP排除
重新启动发动机
重写基/
RewriteCond%{QUERY\u STRING}(^ | \?|&)s2member\u文件下载\=.+[或]
RewriteCond%{QUERY\u STRING}(^ | \?|&)no gzip\=1
重写规则。*-[E=no gzip:1]
#结束成员GZIP排除
#开始WordPress
重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress
但我对apache重写规则的了解有限。我看不到任何明显的可能导致这一错误的东西。Google和stackoverflow也没有就如何在wordpress中添加和使用查询变量的问题给出任何解释。希望有人能帮助阐明这个问题