2015-09-30 1 views
0

У меня есть модуль на Appengine сказать exmplemoduleAppengine: Маршрутизация с dispatch.yaml

И мой dispatch.yaml является

application: sampleappname 

dispatch: 
- url: "*/" 
    module: default 

- url: "example.abc.com/*" 
    module: examplemodule 

Это работает отлично, поэтому, когда я пытаюсь получить доступ example.abc.com/index.php он загружает файл index.php как обычно. Но я хочу, чтобы при доступе к example.abc.com должен открыться файл index.php.

Как я могу это достичь?

Спросите меня, достаточно ли этой информации для ответа на этот вопрос.

ответ

1

Примечание: мой ответ приходит из питона GAE, я подозреваю, что это может быть применимы к PHP, а также, но я не 100% уверен.

Я использую аналогичный dispatch.yaml, но только с 2-м правилом.

Я просто проверял на моем приложении, что запрос, как example.abc.com отправляется examplemodule и можно увидеть в журналах GAE для этого модуля (он также начал экземпляр для модуля):

enter image description here

Из этого журнала мне кажется, что example.abc.com фактически расширен до 'example.abc.com/', что означает, что он будет пойман вашим 1-м правилом.

Сначала проверьте свои журналы для обоих модулей, чтобы узнать, какой из них действительно получает запрос.

Если это действительно идет к умолчанию Я вижу несколько вещей, чтобы попробовать:

  • добавления правила специально для example.abc.com/ до одного для */
  • изменить порядок ваших 2 существующих правил или даже полностью отказаться от 1-го правила (если вы не действительно хотите поймать только адреса каталога с example.abc.com в по умолчанию). Я оставил бы такие правила для каждой конфигурации модуля отдельно, а не файл диспетчера.

Примечание: У меня также есть examplemodule «s по умолчанию обработчик обработать запрос пустой путь таким же образом, как запрос на домашнюю страницу модуля, чтобы предотвратить 404 (вероятно, что вам нужно что-то другое для PHP) :

requested_path = self.request.path_info[1:] 
if not requested_path: 
    requested_path = 'home.html' 
0

yaml файл для модуля examplemodule необходимо определить обработчик для /, что маршруты в index.php

Что-то вроде следующего

handlers: 
# Serve index.php for GET/
- url:/
    script: index.php 
Смежные вопросы