Francis,
Using the similar statement "try_files $uri $uri/ /index.php;", if I visit
this URL:
http://mysite.com/index.php?title=my_test_page
then the URL is rewritten to this, but it just loads the contents of
index.php (without the title variable):
http://mysite.com/my_test_page
What it shows would be equivalent to going to this page:
http://mysite.com/index.php
The part of my nginx configuration which communicates with php is:
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
The php code is a custom page, not a pre-built CMS. It is doing an ajax
call to load the content, but should be functionally-equivalent to this:
<html>
<head></head>
<body>
<!-- header code here -->
<?php
if (isset($_GET['title'])) {
include($_GET['title'] . ".html");
} else {
include("home.html");
}
?>
<!-- footer code here -->
</body>
</html>
If I go to this page:
http://mysite.com/index.php?title=my_test_page
I would like the client's browser to instead show this URL:
http://mysite.com/my_test_page
Does this help clarify what I am looking for?
Thanks,
Andrew
On Wed, Sep 11, 2013 at 7:43 AM, Francis Daly <francis@daoine.org> wrote:
> On Tue, Sep 10, 2013 at 09:07:46PM -0500, Andrew Martin wrote:
>
> Hi there,
>
> > Would it be possible to only redirect if the title $_GET variable is
> > present?
>
> Yes.
>
> Use something like
>
> if ($arg_title != "") {
> return 302 http://mysite.com/$arg_title;
> }
>
> inside the "location = /index.php" block, and then continue with whatever
> should happen if $arg_title is empty.
>
> > Thanks for clarifying this. The complete behavior I'm looking for is
> just to
> > create SEF URLs for pages on the site by hiding the index.php?title= part
> > of the URL. Thus, visiting /my_test_page in your browser would internally
> > load the index.php?title=my_test_page URL but display the SEF URL to
> > the user. How can I achieve this behavior?
>
> I suspect that "try_files $uri /$uri /index.php;" might be enough for
> what you ask for here; if it isn't, then a description of what you do,
> what you see, and what you expect to see, will probably make it easier
> to understand where the problem is. (Your fastcgi-related configuration,
> and the php code itself, will determine whether it is enough.)
>
> If you search for nginx + your-php-application, do you see any
> documentation on how to create SEF URLs? It may be easier than me
> guessing here.
>
> f
> --
> Francis Daly francis@daoine.org
>
> _______________________________________________
> nginx mailing list
> nginx@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx