0

我最终喜欢 www.ww.mywebsite.com/ 带有谷歌搜索结果的网址,

我在谷歌群组中询问,他们指出很明显,www.ww.mywebsite.com 不应该是 200 好的响应。

(r'^$', myview),这就是我获取主页网址的方式,

我不认为这个问题是由于我的 url 模式导致的,据我所知,用于捕获尾随单词的 url 模式。www.wwww.example.com/test/,会有“测试”作为我们要处理的词,我的网站名称之前的这个 wwww 员工呢?

4

1 回答 1

0

在完全限定的 URLwww.example.com/test/中,Django URL 匹配只查看/test/部分。在这里,您需要过滤引入了ALLOWED_HOSTS设置的域名。例如,您可以输入settings.yml

ALLOWED_HOSTS = ['mywebsite.com', 'www.mywebsite.com']

或者,您可以使用自定义中间件将用户重定向到规范 URL。如果用户仍然可以访问非规范 URL,这是一个更好的解决方案:

class CanonicalDomainRedirectMiddleware(object):
    def process_request(self, request):
        if request.get_host() == 'mywebsite.com':
            return None
        if request.is_secure():
            protocol = 'https'
        else:
            protocol = 'http'
        return HttpResponsePermanentRedirect('%s://%s/%s' % (
            protocol, 'mywebsite.com', request.get_full_path)
于 2013-04-22T00:21:43.300 回答