регулярное выражение — Php Get & amp; Опубликовать с помощью Google App Engine

Я загрузил свои файлы в свой экземпляр Google App Engine и успешно смог подключиться к базе данных и получить данные. Тем не менее, я пытаюсь получить конкретные данные с помощью запроса GET, добавив переменные в URL. Я пытаюсь позвонить по URL (с измененным здесь именем моего приложения) http://MYAPP.appspot.com/getCategories?catId=1 и я использую запрос get, чтобы получить идентификатор категории, который добавляется в конце. Я полагаю, что проблема связана с моим файлом app.yaml, так как все остается по умолчанию в моем улове все внизу. Тем не менее, на моем местном экземпляре это работает просто отлично. Как я могу изменить свой файл app.yaml, чтобы убедиться, что он запускает первый экземпляр /getCategories.php вместо index.php? Нужно ли писать регулярное выражение для учета данных, добавляемых в конец?

#app.yaml
application: MYAPP
version: 1
runtime: php
api_version: 1

handlers:

- url: /getCategories.php
script: /getCategories.php

- url: /.*
script: index.php

0

Решение

URL, к которому вы обращаетесь, http://MYAPP.appspot.com/getCategories?catId=1, Но нет обработчика для getCategories, Так что всегда идет к обработчику по умолчанию index.php

Согласно вашему app.yaml, ваш URL должен быть http://MYAPP.appspot.com//getCategories.php?catId=1

Или если вам нужен ваш URL как есть, то вам нужно изменить обработчик app.yaml так, чтобы

- url: /getCategories
script: /getCategories.php
2

Другие решения

Я согласен с Nijin, но я бы также добавил:

Хотя у вас есть только обработчик, соответствующий вашему индексу (catch -url: /.* с script: index.php), все, что нужно сделать, это перехватить ВСЕ запросы на любой странице и направить их в файл индекса (что хорошо как запасной вариант или может быть использован как перехват ошибок). Тем не менее, Nijin указал, что вам нужен маршрут для вашего скрипта /getCategories.php, и это хорошо, за исключением того, что вы в конечном итоге будете думать, что вам нужен один для каждой написанной вами страницы. Лучшая идея — создать обработчик url ​​/ script, который перехватывает набранный (или связанный) url в адресной строке и сопоставляет его с php-файлом на диске, который должен обслуживать GAE. Перехват всех (-url: /.*) должен идти в LAST в app.yaml, чтобы вы ничего не пропустили и перенаправили их обратно на страницу индекса, если они что-то вводят неправильно. Следовательно:

handlers:
- url: /(.+\.php)$
script: \1

- url: /.*
script: index.php

Надеюсь, что это имеет смысл!

Приветствия.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector