Best practice for URL rewriting with php parameter

Mik J mikydevel at yahoo.fr
Wed Nov 11 14:29:37 UTC 2015


Hi there,

> I have checked many ways to implement what I want (including if is evil) and I've been able to reach what I wanted to do (something simple)
> I want that a user who accessesnginx.org/informationwill be redirected in the background tonginx/index.php?x=informationSo that my index.php page is dymanic

What does "redirected in the background" mean?M => I just meant that the user won't see the php parameters. He just sees a simple url with text only.Nginx passes the parameter to php, and not the user (through GET). That's what I meant by "in the background"

I suspect it refers to an nginx internal rewrite, rather than to a
http redirect.M => Maybe I didn't used the correct words. 

> I did like this in my virtual host configurationlocation /information { try_files information /index.php?x=information; }
> I would like to know if:a) This is the best practice to do what I would like to do ?

I'd say "no".

I'm not fully sure what it is that you want to do, but I suspect that
"rewrite" (http://nginx.org/r/rewrite) may be what you want; unless
you will describe how /index.php is intended to be handled -- in which
case just using (e.g.) fastcgi_pass with some suitable fastcgi_param
directives might be even better.
M => My index.php looks like this<?php
if ($_GET['x']) == 'information') { echo "This is the information Page"; } 
if ($_GET['x']) == 'contact') { echo "This is the contact Page"; } 
?>

> b) If "location /information" is an exact match only. Apparently no because nginx.org/informationxxxsomethingxxxweird also matches

It is not an exact match.

http://nginx.org/r/location
 
M => Thank you I added = in order to have an exact match
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20151111/94e8267b/attachment.html>


More information about the nginx mailing list