簡體   English   中英

使用 www 時映射到 AppEngine (Flex/Node) 404s 的 GoDaddy 自定義域

[英]GoDaddy custom domain Mapped to AppEngine (Flex/Node) 404s when using www

我正在嘗試在域http://www.nickjonas.nyc中使用“www”,但我只是從 Google 端收到 404 錯誤。 當您撥打 go 至http://nickjonas.nyc時,一切正常。

這是我的 DNS 在 GoDaddy 上的樣子:

在此處輸入圖像描述

這是 AppEngine 設置中的樣子:

在此處輸入圖像描述

這是我的app.yaml

runtime: nodejs
env: flex

這是我的app.js

// [START gae_flex_node_static_files]
'use strict';

const express = require('express');
const app = express();

app.set('view engine', 'pug');

// Use the built-in express middleware for serving static files from './public'
app.use('/static', express.static('public'));

app.get('/', (req, res) => {
  res.render('index');
});

// Start the server
const PORT = process.env.PORT || 8080;
app.listen(PORT, () => {
  console.log(`App listening on port ${PORT}`);
  console.log('Press Ctrl+C to quit.');
});

// [END gae_flex_node_static_files]
module.exports = app;

我看到在您的 GoDaddy 域配置中,您正在為域的www設置CNAME別名。 我看不到的是,如果您還在 App Engine 自定義域映射中配置了www域。 App Engine 文檔中指出,在配置時必須將您想要的子域添加到 map,建議將www子域添加到 map:

  1. 在將您的域指向 [project-ID] 部分中,指定您想要 map 的域和子域。

我們建議映射裸域和 www 子域。 如果需要,您可以添加更多子域。 添加完所需的所有映射后,單擊保存映射。

您的 App Engine 配置屏幕截圖沒有顯示它,但它應該顯示為此處顯示的www子域和列表中的實際域。

至少有 2 種可能的方法來刪除 404

  1. 在 Google App Engine 設置頁面上,您必須將裸域和 www 域都 map 到您的項目 ID,即重復您對當前在 www 子域的屏幕截圖中顯示的內容執行的步驟。 這意味着您的頁面基本上可以通過 2 個 url 訪問。 如果這樣做,您應該通過設置canonical url來告訴 Google 要抓取哪個。 請參閱文檔

  2. 第二種選擇是保留您當前擁有的內容,然后在 GoDaddy 設置中添加domain forwarding以將http://www.nickjonas.nyc轉發到http://nickjonas.nyc 這意味着如果用戶在瀏覽器中輸入http://www.nickjonas.nyc ,它會將他們重定向到http://nickjonas.nyc這種方法的優點是您沒有重復的 url 問題方法一。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM