Я использую Google App Engine с PHP. Я хочу, чтобы все файлы HTML
в папке Client_Pages
распознавались и использовались как статические файлы, а все файлы PHP
в той же папке распознавались и использовались как файлы сценариев. Вот как выглядит файл app.yaml
:
application: myappname
version: 1
runtime: php
api_version: 1
threadsafe: true
handlers:
- url: /
script: index.php
- url: /Client_Pages/*.php
script: /Client_Pages/*.php
- url: /Client_Pages/*.html
static_dir: Client_Pages/*.html
Я предполагаю, что asterisk
не работает как подстановочный знак в app.yaml
? Я пробовал использовать:
- url: /(.+\.php)
script: Client_Pages/\1
Но это не работает. Я даже не знаю, что означают все символы, так что я просто ковыряюсь в надежде, что что-то сработает. Я не хочу этого делать, но не могу найти документацию о том, что делают все эти символы.
Это будет работать для конкретной страницы:
- url: /Client_Pages/InputForm.php
script: /Client_Pages/InputForm.php
Я мог бы поместить строку в файл app.yaml
для каждой отдельной страницы моего веб-сайта, но я бы предпочел найти другой способ.
О, подождите! Подожди! Это работает для загрузки моих файлов PHP:
- url: /(.+\.php)
script: \1
Так что же означает \1
? Или где хорошая ссылка?
Итак, вышеприведенное работает для php
страниц, но это НЕ работает для HTML-страниц. Почему?
- url: /(.+\.html)
static_dir: \1
У меня есть кое-что для работы. Это загрузит мои страницы PHP
и HTML
:
- url: /(.+\.php)
script: \1
- url: /Client_Pages
static_dir: Client_Pages
Итак, я нашел решение, но я до сих пор совершенно не понимаю, почему оно работает или что означают символы.
Я прошу прощения за то, что нашел частичный ответ на свой вопрос в процессе его публикации, но если кто-то может объяснить, почему это работает, я дам вам заслуженные баллы.