2011-06-05 79 views
0

唉...就在我以为我已经想通了,所有的问题在网址末尾斜杠为Django - 我开始nginx工作...Nginx的静态媒体,并与拖尾问题斜杠

所以我配置nginx服务静态媒体,并重复失败 - 尽管我的配置看起来像正好像所有其他静态媒体问题。最后,我意识到,这不是nginx配置,但我的HTML文件,其中包括关于.css文件结尾的斜线:

# hello.html (invalid) 
<link rel="stylesheet" href="/media/css/hello.css/" type="text/css" /> 
# resulting log error 
[error] 27705#0: "/home/www/static/css/hello.css/index.html" is not found 
request: "GET /media/css/hello.css/ HTTP/1.1" 
# hello.html (valid) 
<link rel="stylesheet" href="/media/css/hello.css" type="text/css" /> 

通过移除文件名中的斜线,它工作得很好。但是为什么?网址不应以尾部斜线结尾?

我最近浏览了所有我的Django模板,为每个媒体文件添加斜杠。我必须删除他们全部,还是有一些配置选项nginx,我错过了?

回答

1

在请求中使用斜线会使大多数服务器假定您想要css文件夹中的hello.css文件夹。显然,这会混淆它。

不应该跟踪结尾 斜线?

没有。为此页面或几乎任何其他人查看源代码。

<link rel="shortcut icon" href="http://cdn.sstatic.net/stackoverflow/img/favicon.ico"> 

请参阅?没有结尾的斜线。