This is better for a basic set up which does not include supercache :
server {
listen 80;
server_name muinstall.com *.muinstall.com;
access_log /usr/local/nginx/logs/mu.access.log;
location ~* ^.+\.(xml|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf)$
{
root /home/mudirectory/public_html;
rewrite ^/files(/.*)$ /wp-content/blogs.php?file=$1 last;
expires 10d;
break;
}
location / {
root /home/mudirectory/public_html;
index index.php;
error_page 404 = /index.php?q=$uri;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/mastersvn/mutrunk$fastcgi_script_name;
include /usr/local/nginx/conf/fastcgi_params;
}
}
jhh2006
Member
Posted 15 years ago #
Thanks. Interestingly I got the wildcard working without the *. that you added at the top. I will try your version today adn report back. Much obliged.
It will work without the wildcard if your mu installation is also the default nginx server conf.
jhh2006
Member
Posted 15 years ago #
Yup this works.
server
{
listen 80;
server_name MYSITE.COM *.MYSITE.COM;
access_log /home/public_html/MYSITE.COM/log/access.log;
error_log /home/public_html/MYSITE.COM/log/error.log;
# rewrite rule for files
location ~* ^.+\.(xml|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf)$
{
root /home/public_html/MYSITE.COM/www;
rewrite ^/files(/.*)$ /wp-content/blogs.php?file=$1 last;
expires 10d;
break;
}
# rewrite rule for sitemap under the lines that handles upload files
rewrite ^(.*/)?sitemap.xml wp-content/sitemap.php;
# rewrite errors
location /
{
root /home/public_html/MYSITE.COM/www;
index index.php;
error_page 404 = /index.php?q=$uri;
}
#send php requests to fast cgi
location ~ \.php$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/public_html/MYSITE.COM/www$fastcgi_script_name;
include /usr/local/nginx/conf/fastcgi_params;
}
}
Now to figure out supercache!
Just a FYI. I had to change error_page 404 = /index.php?q=$uri;
to get it to work with BuddyPress. I changed it to:
if (!-e $request_filename) {
rewrite ^(.+)$ /index.php?q=$1 last;
}
more at: http://buddypress.org/forums/topic.php?id=1278#post-8539