2010-04-09 2 views
2

У меня есть приложение Google App Engine, которое отлично работает на dev-сервере. Однако, когда я загружаю его, CSS ушел. Однако сценарии все еще существуют.Google App Engine: потерять CSS при развертывании?

От app.yaml:

- url: /scripts 
    static_dir: Static/Scripts 

- url: /styles 
    static_dir: Static/styles 

От базового шаблона:

<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> 
    <script type="text/javascript" src="./scripts/JQuery.js"></script> 
    <script type="text/javascript" src="./scripts/sprintf.js"></script> 
    <link rel="stylesheet" href="./styles/style.css" type="text/css" media="screen" /> 
</head> 

Что может быть причиной этого? Я делаю что-то неправильно?

ответ

5

URL-адрес, который вы предоставляете, указав - url: /scripts, будет примерно http://foobar.appspot.com/scripts. URL-адрес, который вы указали , запрашивая, учитывая, что вы решили использовать href="./styles/style.css", будет таким же только для страниц верхнего уровня - если у вас есть этот заголовок, скажем, http://foobar.appspot.com/good/grief, тогда вы будете запрашивать свои стили от http://foobar.appspot.com/good/styles/style.css и тому подобное. Зачем вам хочу что ?! Используйте href="/styles/style.css", без этой чрезвычайно своеобразной ведущей точки, и вы будете запрашивать стиль от http://foobar.appspot.com/styles/style.css - который, как предполагается, будет там, где вы хотите его обслуживать, - на любой странице на foobar.appspot.com, которую вы запрашиваете.

0

В дополнение к ответу Алекса, я отмечаю, что вы, по-видимому, используете капитализацию непоследовательно - некоторые первые буквы капитализируются, а другие - нет. Имейте в виду, что, хотя Windows не чувствительна к регистру, большинство платформ чувствительны к регистру, поэтому, если вы не были строгими в использовании одной и той же капитализации для одного и того же имени во всем мире, при развертывании вы получите много 404s на месте ожидаемых файлов.

Смежные вопросы