1

im having difficulties with a relativity simple rewrite rules / router in nginx config.

All I want to do is, if requested dir or file 'host/my/request/path[/[index.php]]' does not exist, rewrite to 'host/my/request/path.php'

Current rewrite works for:

host host/ host/my/request/path 

But wont work for:

host/my/request/path/ 

Here is the rewrite part of the config:

 location / { try_files $uri/ $uri $uri.php; } 

Error log will report:

Access forbidden by rule, request: "GET /my/request/path/ HTTP/1.0" 

Hm, is there a better way to solve this or get rid of the trailing slash?

edit, rules more elaborative:

host[/] > host/index.php host/index[/] > host/index.php host/my/path[/] > if /path/index.php exists: host/my/path/index.php else host/my/path.php 

1 Answer 1

0

Solution:

https://stackoverflow.com/questions/9557936/nginx-trailing-slash-rewrite-results-in-a-redirect-loop

I added

rewrite ^/(.*)/$ /$1; 

before the rule in first post, seems to be working.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.