need help with rewrite

Igor Sysoev is at rambler-co.ru
Thu Dec 11 10:04:55 MSK 2008


On Thu, Dec 11, 2008 at 09:51:10AM +0300, Igor Sysoev wrote:

> On Thu, Dec 11, 2008 at 11:03:23AM +0700, Glen Lumanau wrote:
> 
> > Can someone help me in translating this rewrite into nginx?
> > 
> >  
> > 
> >     RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR]
> > ##optional - see notes##
> > 
> >     RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$  [NC]
> > 
> >     RewriteCond %{REQUEST_FILENAME} !-f
> > 
> >     RewriteCond %{REQUEST_FILENAME} !-d
> > 
> >     RewriteRule (.*) index.php
> 
> As I understand these are Joomla rewrite rules. If you have no any dot-files,
> as .htaccess, then the regex part "/[^.]*)$" means effectively anything, i.e.
> "location /".

Sorry, "/[^.]*)$" means files without dots at all. So the configuration is
the same, expect, thay you should handle images in some static location:

      location ~ \.(gif|jpg|png)$ { }

> The RIGHT nginx configuration is
> 
>     root  /path/to/files;
> 
>     location / {
>          log_not_found  off;
>          error_page  404 = @joomla;
>     }
> 
>     location @joomla {
>          fastcgi_pass   ...;
>          fastcgi_param  SCRIPT_FILENAME  /path/to/index.php;
>          ... other fastcgi_params
> 
>     }
> 
> If you have also other php files, then add
> 
>     location ~ \.php$ {
>          fastcgi_pass   ...;
>          fastcgi_param  SCRIPT_FILENAME  /path/to/$fastcgi_script_name;
>          ... other fastcgi_params
>     }
> 
> If you have static dot-files, then add:
> 
>     location ~ /\. { }
> 
> >     RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
> > 
> >     RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
> > 
> >     RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
> > 
> >     RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
> > 
> >     RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
> > 
> >     RewriteRule ^(.*)$ index.php [F,L]
> 
> I have no idea WHY Joomla developers think that Joomla parameters
> validation should be placed on web server side. Please, send them feedback,
> that these rules should be implemented inside Joomla: this is not web
> server job.
> 
> 
> -- 
> Igor Sysoev
> http://sysoev.ru/en/

-- 
Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list