Alan M. Alan M. - 3 months ago 18
PHP Question

Have app.yaml convert directory path to php script parameter

Is it possible to have navigating to...

https://website.com/photos


...be the same as navigating to...

https://website.com/index.php?action=displayPhotos


...?




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

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

Answer

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.

Comments