Alan M. Alan M. - 1 year ago 74
PHP Question

Have app.yaml convert directory path to php script parameter

Is it possible to have navigating to... the same as navigating to...


I have tried variations of the following without success...

- url: /photos
script: /index.php?action=photos

Answer Source

I left app.yaml as it was...

- url: /(.+)
  script: index.php
  secure: always

- url: /.*
  script: index.php  
  secure: always

...and used PHP to read from the URL.

$directory = basename(parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH));
if ($directory !== "") {
    $action = $directory;
elseif (isset($_REQUEST["action"])) {
    $action = $_REQUEST["action"];
else {
    $action = "(unspecified)";

This facilitates script.js utilizing the less attractive form for passing one or more parameters, while site visitors can simply use slash plus text to indicate a single action or request.

Credit to sanjary's answer to another question for reading the URL after the slash.