Php url中重复了Wordpress查询变量
我有一个wordpress站点正在复制url中的查询变量,即: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() {
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中添加和使用查询变量的问题给出任何解释。希望有人能帮助阐明这个问题