Fix rewrite rules to pass arguments

Fix location regex for extensions to end with $
Add more comments
This commit is contained in:
Olaf Conradi 2012-12-15 16:21:50 +01:00
parent b38b62f759
commit 30b5e08eb6

View file

@ -25,6 +25,7 @@
# You want all friendica traffic to be https # You want all friendica traffic to be https
# You have an SSL certificate and key for your subdomain # You have an SSL certificate and key for your subdomain
# You have PHP FastCGI Process Manager (php5-fpm) running on localhost # You have PHP FastCGI Process Manager (php5-fpm) running on localhost
# You have Friendica installed in /mnt/friendica/www
## ##
server { server {
@ -64,44 +65,45 @@ server {
# rewrite to front controller as default rule # rewrite to front controller as default rule
location / { location / {
rewrite ^/(.*) /index.php?q=$1 last; rewrite ^/(.*) /index.php?q=$uri&$args last;
} }
# make sure webfinger isn't blocked by denying dot files # make sure webfinger and other well known services aren't blocked
# and rewrite to front controller # by denying dot files and rewrite request to the front controller
location = /.well-known/host-meta { location ^~ /.well-known/ {
allow all; allow all;
rewrite ^/(.*) /index.php?q=$1 last; rewrite ^/(.*) /index.php?q=$uri&$args last;
} }
# statically serve these file types when possible # statically serve these file types when possible
# otherwise fall back to front controller # otherwise fall back to front controller
# allow browser to cache them # allow browser to cache them
# added .htm for advanced source code editor library # added .htm for advanced source code editor library
location ~* \.(jpg|jpeg|gif|png|css|js|ico|htm|html)$ { location ~* \.(jpg|jpeg|gif|png|css|js|htm|html)$ {
expires 30d; expires 30d;
try_files $uri /index.php?q=$uri&$args; try_files $uri /index.php?q=$uri&$args;
} }
# block these file types # block these file types
location ~* \.(tpl|md|git|tgz|log|out) { location ~* \.(tpl|md|tgz|log|out)$ {
deny all; deny all;
} }
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~* \.php$ { location ~* \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
# # With php5-cgi alone:
# With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000; # fastcgi_pass 127.0.0.1:9000;
# With php5-fpm: # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php; fastcgi_index index.php;
include fastcgi_params; include fastcgi_params;
} }
# deny access to all dot files (including .htaccess) # deny access to all dot files
location ~ /\. { location ~ /\. {
deny all; deny all;
} }