在django 1.8项目中,我尝试将http://myProject/ads.txt
重定向到外部网址http://a.location.that.has.the.ads.txt.file
,从而在不使用ftp的情况下提供ads.txt文件,只需将ads.txt放在根目录中即可。
鉴于这个最小的目录结构:
django projects
myProject
myapp
urls.py
views.py
someotherapp
yetanotherapp
myProject
settings.py
urls.py (this is the top urls.py)
views.py
在myProject / myProject / urls.py中,(“top”urls.py)我作为urlpatterns列表中的第一个条目,行:
urlpatterns = patterns('',
(r'^ads\.txt', RedirectView.as_view(url='http://a.location.that.has.the.ads.txt.file', permanent=False)),
接下来是更多的模式匹配正则表达式。这不起作用,并且失败了404.工作是什么
urlpatterns = patterns('',
(r'^foo/ads\.txt', RedirectView.as_view(url='http://a.location.that.has.the.ads.txt.file', permanent=False)),
然后调用http://myProject/foo/ads.txt
不幸的是,ads.txt文件必须放在站点根目录下。我已经尝试了许多不同的正则表达式,它们在正则表达式验证器中测试得很好,但只是不起作用(返回404)。如果没有额外的目录“foo”,我该怎么做?任何想法都赞赏。谢谢。
答案 0 :(得分:0)
原来你不能用顶级urls.py"路由表"重定向。到Django项目根目录之上。 nginx服务器级重定向就可以了。