Django写一个web,运维给部署到Apache之后给的根目录是ip:port/es/
urls.py中如下配置
可以访问到login
但是像如下这种匹配就都匹配不上
url(r'^/test/search/$', views.search)
url(r'^/search/$', views.search),
url(r'search/$', views.search),
访问失败
本地测试环境下都能匹配成功,实在困惑。一直以为是urls写错了,本地各种测试都通过。
细思之后觉得如果本地测试没问题,部署到Apache之后出错,那么问题肯定出在Apache配置上,天杀的没有Apache权限,运维又懒得鸟我,一个几个小时就可以完成的环境配置拖了我半个多月,我是不指望运维能帮我做什么了。
自己干!问运维要到Apache目录,直接看日志。
Apache日志报如下错误:
Target WSGI script not found or unable to stat: /data/mdata/es/essite/essite/wsgi.pysearch.html
WSGIScriptAlias /es/ /data/mdata/es/essite/essite/wsgi.py
修改策略是:
WSGIScriptAlias /es /data/mdata/es/essite/essite/wsgi.py
然后磨叽运维给改,Done!解决!
可是明明django官网文档上的配置要求es之后有个"/"的啊,为什么这里要去掉呢?不明白求解
附stackoverflow链接: