Добавьте crossdomain.xml в файл app.yaml для простого приложения PHP.

У меня проблема с редактированием app.yaml для простого приложения php, в котором нет каталогов, содержащих 5 файлов в корне.

index.php    config.php    welcome.php    share.php    crossdomain.xml

мой app.yaml

application: myapp
version: alpha-001
runtime: php
api_version: 1

handlers:

# Serve php scripts.
- url: /(.+\.php)$
  script: \1

- url: /.*
script: index.php

- url: /crossdomain.xml 
  mime_type: text/xml
  static_files: static/crossdomain.xml 
  upload: static/crossdomain.xml    

оно возвращается

Неизвестный тип обработчика URL.

как правильно указать все файлы в app.yaml

спасибо заранее


person I Follow Mohamed    schedule 03.04.2015    source источник


Ответы (1)


Я вижу две проблемы в app.yaml, как вы это показываете:

  • слово script (второе вхождение) не имеет отступа (требуется два пробела перед ним).
  • регулярные выражения url проверяются по порядку: /.* будет соответствовать любому URL-адресу, поэтому следующий дескриптор /crossdomain.xml никогда не сработает.

Первую проблему можно исправить с помощью незначительного редактирования, как и вторую — вам просто нужно поменять местами вторую и третью директивы обработчика.

person Alex Martelli    schedule 03.04.2015
comment
спасибо, MR.Alex, пожалуйста, ваш код, вы имеете в виду - url:/index.php вместо /.* Извините, я новичок в платформе GAE - person I Follow Mohamed; 04.04.2015
comment
@IFollowMohamed, я имею в виду вторую директиву url в yaml, которую вы разместили в своем Q, и это - url: ./*; в yaml, который вы разместили, нет - url: /index.php, поэтому, конечно, я не могу этого иметь в виду. - person Alex Martelli; 04.04.2015