Skip to content

Instantly share code, notes, and snippets.

@josephspurrier
Last active January 26, 2018 05:32
Show Gist options
  • Save josephspurrier/9848964 to your computer and use it in GitHub Desktop.
Save josephspurrier/9848964 to your computer and use it in GitHub Desktop.
Nginx sub folder configuration for Trailing Slash Solution - http://josephspurrier.com/trailing-slash-solution/
location @testrewrites {
# Send all requests to index.php
rewrite ^ /test/index.php last;
}
# Else use this location block
location ~* ^/test/.*\.php$ {
# Strip subdir index.php and query string
if ( $request_uri ~* ^/(.*)/index\.php\?+) {
rewrite (?i)^/(.*)/index\.php /$1/? permanent;
}
try_files $uri $uri/ @testrewrites;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
# With php5-cgi alone:
fastcgi_pass 127.0.0.1:9000;
# With php5-fpm:
#fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
# Else use this location block
location ~* ^/test/.* {
try_files $uri $uri/ @testrewrites;
}
@josephspurrier
Copy link
Author

If you place a dynamic application using the Front Controller pattern (index.php) in a sub folder, add this above the first location block and then change the 6 instances of 'test' to your folder name. This requires you to use the Nginx root folder configuration here: https://gist.github.com/josephspurrier/9836107.

By using these two scripts, both applications will handle pages the same.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment