Plesk - nginx反向代理 - 忽略子文件夹

时间:2018-06-12 11:24:56

标签: nginx http-status-code-404 reverse-proxy plesk

我有一个以前只通过apache托管的网站,我们使用脚本生成动态网页。请求使用查找404错误的脚本命中子文件夹,如果请求URI在列表中,则提供动态页面。这是脚本的大规模缩减版本,但它是这样的:

if (preg_match("/\/shop-search\/(.*)-shoes$/", $_SERVER['REQUEST_URI'], 
$matches)) {
header("HTTP/1.1 200 OK");
$colorName = trim(strip_tags($matches[1]));
$pagenum = 1;
$mainURL = "/shop-search/" . $colourName . "-shoes/";
$color = array(
    "Blue" => "Blue",
    "Red" => "Red",
);
if (isset($color[$colorName])) {
    $keywords = $color[$colorName];
    $pageType = "colour";
    require_once "by-color.php";
    exit;
}
}

在Apache下,它捕获404,执行检查,然后使用200消息呈现页面,浏览器不提供404.使用nginx反向代理页面仍然呈现但是404传递给浏览器所以这意味着Googlebot的页面出错,页面已退出索引。有没有办法阻止nginx处理该文件夹或以任何其他方式阻止404在提供200代码之前被推回到nginx?

0 个答案:

没有答案