2012-07-02 3 views
0

Я использую механизм Google для создания моего сайта и столкнулся с проблемой максимального количества URLMap (у меня было 101 URL-адрес, но предел равен 100). Вот сообщение об ошибке:Google app engine 100 Ограничение записей URLMap

Fatal error when loading application configuration: 
Invalid object: 
Found more than 100 URLMap entries in application configuration 
    in "\AppPest\app.yaml", line 269, column 28 

Я пытался изменить в файле appinfo.py настройки MAX_URL_MAPS = 1000, но это не сработало. Может ли кто-нибудь дать мне несколько советов?

EDIT:

Другой вопрос состоит в том, что некоторые из моих URL-адресов похожи, как a_input.html, b_input.html, c_input.html. Есть ли способ упростить его, чтобы уменьшить количество URL-адресов? Вот пример моего файла yaml

#a 
- url: /a_input.html 
    script: a/a_input.py 

#b 
- url: /b_input.html 
    script: b/b_input.py 

#c 
- url: /c_input.html 
    script: c/c_input.py 

ответ

2

Решение будет зависеть от языка, который вы используете. Если вы используете Python 2.7, что вы можете сделать, это:

1) Используйте регулярное выражение для определения адреса см this doc для более подробной информации

handlers: 
- url: /(.*?)_input.html 
    script: /input/\1.app 

2) Укажите группу адресов, к тому же приложение, и пусть приложение обрабатывает разные запросы.

handlers: 
- url: /(.*?)_input.html 
    script: /input/input.app 

app = webapp2.WSGIApplication([('/a_input.html', AInputPage), ('/b_input.html', BInputPage)]) 

Из предоставленной вами информации я не могу сказать, если a_input.html, b_html являются статическими или нет. Но если они статичны, вы также можете сделать:

3) Обратитесь к ним с помощью static file handlers, которые также принимают регулярные выражения.

- url: /input 
    static_dir: static/input 

См issue 1444 еще несколько деталей, особенно для тех, связанных с Java.

+0

Спасибо за помощь в этом. Мне нравится группировать URL-адреса, но возможно ли это для моего случая (см. Мои изменения)? –

+0

Да, вам нужно использовать метод 1), пожалуйста, обратитесь к документам, которые я указал. Вот код (извините, не форматирование комментариев): - url: /(.*?)_input.html script: \ 1/\ 1_input.py. В следующий раз, пожалуйста, укажите, какое время работы вы используете. –

+0

Спасибо! Этот групповой метод работает. Мое время выполнения - python27. –

0

У меня была такая же проблема с использованием Java SDK. Я вернул удаление index.html из приветственного файла-списка. Теперь моя точка входа - index.jsp с перенаправлением на мою страницу index.html.

В web.xml:

<welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
</welcome-file-list> 

В Appengine-web.xml:

<static-files> 
    <include path="/fonts/**" /> 
    <include path="/app/fonts/**" /> 
    <include path="/**.html" /> 
    <include path="/**.js" /> 
    <include path="/**.css" /> 
    <include path="/**.ico" /> 
    <include path="/**.png" /> 
    <include path="/**.jpg" /> 
    <include path="/**.jpeg" /> 
    <include path="/**.gif" /> 
</static-files>