我们正在wordpress上建立一个大学搜索网站,并拥有自己的自定义网页。 在搜索结果之后,当用户点击大学链接时,它会打开一个页面 http://studyn.us/c-102614-university-of-alaska-fairbanks 即使我能看到页面上的数据,也不确定为什么网络状态为404。
我已经在Chrome中附加了网络状态的响应。您可以看到我们在页面中也有数据。
根据网址,我们会重定向到另一个模板。在functions.php
中编写的代码下面function redirect_to_college_template()
{
if( !is_front_page()) :
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$url = trim($url, '/');
$headURL = substr($url, strrpos($url, '/')+1);
$college=explode ("-",$headURL);
$var=$college[0];
$college=$college[1];
endif;
echo $college;
if($var=='c' & is_numeric($college)!='')
{
//echo $college;
include( get_template_directory() . '/college-page.php' );
exit();
}
}
add_action( 'template_redirect', 'redirect_to_college_template' );
我不确定为什么即使显示数据我们也会得到404。当谷歌抓取网站时,这是同样的问题。 是因为代码的编写方式是在functions.php中写的吗?
这个问题可能是因为网页标题与网址不匹配吗?
答案 0 :(得分:1)
您的问题是WordPress仍在继续查找与该网址匹配的网页/帖子。当你正在处理它时......你必须告诉WP停止寻找其他地方。
global $wp_query;
if($wp_query->is_404){
$wp_query->is_404=false;
$wp_query->is_archive=true;
}
header($_SERVER['SERVER_PROTOCOL'].' 200 OK');
您可能会在第二个IF声明中想要这个。