我在https://karra-asynk.appspot.com有一个简单的网站,已经存在很多年了。最近我买了一个域http://asynk.io/并将其设置为指向我的appengine应用程序。问题是,当我搜索“asynk”或任何相关关键字时,Google只会在搜索结果中显示appspot网址。无论如何,我可以将所有这些指向我的自定义域名?
答案 0 :(得分:2)
您可以为请求的域添加检查,如果它是appspot子域,则重定向到新域下的相同路径。之后你只需要等待。更新Google索引需要时间,这取决于您网站的链接数量(Google知道),因此,如果您的网站列在您可以控制的地方,请更新指向新域名的链接。
您可能还会考虑根据请求的域提供不同的robots.xml - 旧的子域名服务于" Disallow:/"为了防止对其进行索引,但这并不一定意味着新域名将在Google中列出,而不是在相同的搜索中,至少在一段时间过去之后。
答案 1 :(得分:1)
确保您使用301 redirect code将.appspot.com
个请求重定向到新域名。
您还可以使用Google网站管理员" Change of address"工具
答案 2 :(得分:0)
只需在MIDDLEWARE_CLASSES
settings.py
顶部添加中间件即可
在我的情况下
MIDDLEWARE_CLASSES = {
'myapp.models.WWWRedirectMiddleware',
}
models.py
中的
from django.http import HttpResponsePermanentRedirect //Permanent Redirect status - 301
class WWWRedirectMiddleware(object):
def process_request(self, request):
if request.META['HTTP_HOST'].endswith('appspot.com'):
logging.info('---Redirecting to domain.com----')
return HttpResponsePermanentRedirect('http://domain.com' + request.META['PATH_INFO'])
注意:无法使用此处理静态文件。