Как обрабатывать конечную косую черту в Google App Engine app.yaml

Я столкнулся с этой проблемой, пытаясь ответить на этот вопрос SO здесь: Удаление расширения файла PHP при обслуживании файлов PHP о том, как маршрутизировать определенные запросы в app.yaml для Google App Engine.

Но я не мог понять, как сопоставить запросы для URL-адресов, которые могут иметь или не иметь завершающую косую черту, с одним регулярным выражением app.yaml. Прямо сейчас я обрабатываю этот случай двумя строками:

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

Но это кажется лишним. Можно ли объединить эти две строки в одну?

Вещи, которые, как я думал, должны работать, например

url: /(.*)(/?)

и

url: /(.*)(/{0,1})

и

url: /(.*)(/?$)

похоже, не работают для запросов с завершающей косой чертой.


person Aaron    schedule 26.07.2015    source источник


Ответы (1)


Используйте нежадное регулярное выражение.

/(.*?)/?$

ДЕМО

person Avinash Raj    schedule 26.07.2015