Статические носители Nginx и проблемы с конечными слешами - PullRequest
0 голосов
/ 05 июня 2011

Вздох ... только когда я подумал, что разобрался со всеми проблемами с завершающими слешами в URL для Django - и я начал работать с nginx ...

Таким образом, я настраиваю nginx для обслуживания статических носителей и повторяю неудачу - несмотря на то, что моя конфигурация выглядит точно , как и все другие вопросы о статических носителях в SO. В конце концов я понимаю, что это не конфигурация 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" />

Убрав косую черту в имени файла, он работал нормально. Но почему ? Разве URL-адреса не должны заканчиваться косой чертой?

Недавно я просмотрел все свои Django шаблоны, добавив косые черты в каждый медиа-файл. Нужно ли удалить их всех или в nginx есть какой-то параметр конфигурации, который мне не хватает?

1 Ответ

1 голос
/ 05 июня 2011

Наличие косой черты в запросе заставит большинство серверов предполагать, что вам нужна папка hello.css в папке css.Очевидно, это может запутать это.

Разве URL не должны заканчиваться косой чертой?

Нет.Есть ли источник просмотра для этой страницы или почти любой другой.

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

Видите?Без косой черты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...