Forum: NGINX vhost conf for typo3

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
hostis.pl (Guest)
on 2009-03-25 12:14
(Received via mailing list)
Hi all,

i have little problem with setting rewrite rules for directories like
typo3. I can access to typo3 admin panel. Site works almost perfectly
with one exception.
When i pass url like http://domain/typo3/sysext/noborder.html (this file
dosen't exist) it should send back 404 error.
But i get rendered main page with html content and without any styles,
images, etc.

i try to do it by my own but it dosen't work good.

here is .htaccess rewrite rules:

# Stop rewrite processing if we are in the typo3/ directory
# For httpd.conf, use this line instead of the next one:
RewriteRule
^(typo3|t3lib|tslib|fileadmin|typo3conf|typo3temp|uploads|showpic\.php|favicon\.ico)/
- [L]

# Redirect http://mysite/typo3 to http://mysite/typo3/index_re.php
# and stop the rewrite processing
# For httpd.conf, use this line instead of the next one:
RewriteRule ^typo3$ typo3/index_re.php [L]

My vhost config:

# VirtualHost F1
server {
   listen   80;
   server_name  domain.pl;

   root   /var/www/domain.pl;
   index  index.php;

   charset utf-8;

   access_log  /var/log/nginx/domain.pl.access.log;
   error_log   /var/log/nginx/domain.pl.error_log info;

   rewrite rss.xml /index.php?id=221&type=100 last;
   rewrite sitemap.xml /sitemap.xml;
   rewrite ^typo3$ /typo3/index_re.php last;
   rewrite
^(typo3|t3lib|tslib|fileadmin|typo3conf|typo3temp|uploads|showpic\.php|favicon\.ico)/
last;

   location / {
     if (!-e $request_filename) {
       rewrite ^(.*) /index.php last;
     }
   }

   location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|flv|swf|txt)$ {
     access_log  off;
     expires     30d;
   }

   location ~ \.php$ {
     fastcgi_pass      127.0.0.1:9000;
     fastcgi_index     index.php;

     fastcgi_param     SCRIPT_FILENAME
/var/www/domain.pl/$fastcgi_script_name;
     include           fastcgi_params;
   }
}
Igor S. (Guest)
on 2009-03-25 17:10
(Received via mailing list)
On Wed, Mar 25, 2009 at 11:07:10AM +0100, hostis.pl wrote:

> i try to do it by my own but it dosen't work good.
> # and stop the rewrite processing
>   root   /var/www/domain.pl;
>   rewrite
>     access_log  off;
>   }
> }

First, nginx uses leading slash in URI:

   rewrite ^typo3$  /typo3/index_re.php last;
   rewrite ^/typo3$ /typo3/index_re.php last;

However, your configuration should be rewritten

    location / {
        error_page  404 = /index.php;
    }

    location = /typo3 {
        fastcgi_pass   127.0.0.1:9000;
        include        fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME
/var/www/domain.pl/typo3/index_re.php;
        fastcgi_param  QUERY_STRING     $query_string;
    }

    location = /rss.xml {
        fastcgi_pass   127.0.0.1:9000;
        include        fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME  /var/www/domain.pl/index.php;
        fastcgi_param  QUERY_STRING     id=221&type=100;
    }

    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        include        fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME
/var/www/domain.pl/$fastcgi_script_name;
        fastcgi_param  QUERY_STRING     $query_string;
    }

    location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|flv|swf|txt)$ {
        access_log     off;
        expires        30d;
    }

Also, you need to remove QUERY_STRING from fastcgi_params file.
This topic is locked and can not be replied to.