Nginx Drupal Rewrite
Michael Shadle
mike503 at gmail.com
Sun May 17 00:46:06 MSD 2009
I will say I did notice the behavior for Drupal and possibly other
apps that require GET parameters. I've noted it in a blog post:
http://michaelshadle.com/2009/05/15/dont-forget-the-args/
2009/5/16 Igor Sysoev <is at rambler-co.ru>:
> On Sat, May 16, 2009 at 07:58:21PM +0200, Claude Bing wrote:
>
>> Can I just exclude a directory from rewrite?
>> I suppose I can move the gallery to a subdomain.
>
> You do not need rewrite at all:
>
> root /var/www/wfto.cc;
> index index.php index.html;
>
> location / {
> try_files $uri $uri/ /index.php?q=$uri;
> }
>
> location /gallery/ {
> try_files $uri $uri/ /index.php?q=$uri;
> }
>
> location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico)$ {
> }
>
> location ~ \.php$ {
> fastcgi_pass 127.0.0.1:9000;
> ...
> }
>
>> 2009/5/16 Claude Bing <tehbing at gmail.com>
>>
>> > K i will attempt to do this in a few minutes. I'll get back to you about
>> > the gallery
>> >
>> >
>> > 2009/5/16 Igor Sysoev <is at rambler-co.ru>
>> >
>> >> On Sat, May 16, 2009 at 07:04:43PM +0200, Claude Bing wrote:
>> >>
>> >> > Well I should clarify about the gallery. It's Gallery2, php-driven.
>> >>
>> >> How does typical URL look ?
>> >>
>> >> > Where is the } that I should fix?
>> >>
>> >> I have marked the by "+" and "-":
>> >>
>> >> + }
>> >>
>> >> error_page 404 /index.php;
>> >>
>> >> location ~ /\.ht {
>> >> deny all;
>> >> }
>> >> -}
>> >> }
>> >>
>> >> > 2009/5/16 Igor Sysoev <is at rambler-co.ru>
>> >> >
>> >> > > On Sat, May 16, 2009 at 06:09:41PM +0200, Claude Bing wrote:
>> >> > >
>> >> > > > Ok, I followed a tutorial online and was trying to get rewrite
>> >> working on
>> >> > > my
>> >> > > > server. Well, everything works ok except for my Photo gallery which
>> >> is
>> >> > > > located in | <domain>/gallery |. I'll include my current config for
>> >> the
>> >> > > > domain (wfto.cc and wfto.cc/gallery)
>> >> > > > ========================
>> >> > > > server {
>> >> > > > listen 80;
>> >> > > > server_name www.waterfortheoppressed.com
>> >> > > waterfortheoppressed.com;
>> >> > > >
>> >> > > > rewrite ^ http://wfto.cc permanent;
>> >> > > > }
>> >> > > >
>> >> > > > server {
>> >> > > > listen 80;
>> >> > > > server_name www.wfto.cc wfto.cc;
>> >> > > >
>> >> > > >
>> >> > > > access_log /var/www/logs/wfto.cc.access.log;
>> >> > > >
>> >> > > > location = / {
>> >> > > > root /var/www/wfto.cc;
>> >> > > > index index.php index.html index.htm;
>> >> > > > }
>> >> > > > location / {
>> >> > > > root /var/www/wfto.cc;
>> >> > > > index index.php index.html;
>> >> > > >
>> >> > > > if (!-f $request_filename) {
>> >> > > > rewrite ^(.*)$ /index.php?q=$1 last;
>> >> > > > break;
>> >> > > > }
>> >> > > >
>> >> > > > if (!-d $request_filename) {
>> >> > > > rewrite ^(.*)$ /index.php?q=$1 last;
>> >> > > > break;
>> >> > > > }
>> >> > >
>> >> > > + }
>> >> > >
>> >> > > > error_page 404 /index.php;
>> >> > > >
>> >> > > > # serve static files directly
>> >> > > > location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico)$ {
>> >> > > > access_log off;
>> >> > > > expires 30d;
>> >> > > > }
>> >> > > > # redirect server error pages to the static page /50x.html
>> >> > > > #
>> >> > > > error_page 500 502 503 504 /50x.html;
>> >> > > > location = /50x.html {
>> >> > > > root /var/www/nginx-default;
>> >> > > > }
>> >> > > >
>> >> > > > # proxy the PHP scripts to Apache listening on 127.0.0.1:80
>> >> > > > #
>> >> > > > #location ~ \.php$ {
>> >> > > > #proxy_pass http://127.0.0.1;
>> >> > > > #}
>> >> > > >
>> >> > > > # pass the PHP scripts to FastCGI server listening on
>> >> > > 127.0.0.1:9000
>> >> > > > #
>> >> > > > location ~ \.php$ {
>> >> > > > fastcgi_pass 127.0.0.1:9000;
>> >> > > > fastcgi_index index.php;
>> >> > > > fastcgi_param SCRIPT_FILENAME
>> >> > > > /var/www/wfto.cc$fastcgi_script_name;
>> >> > > > include fastcgi_params;
>> >> > > > }
>> >> > > >
>> >> > > > # deny access to .htaccess files, if Apache's document root
>> >> > > > # concurs with nginx's one
>> >> > > > #
>> >> > > > location ~ /\.ht {
>> >> > > > deny all;
>> >> > > > }
>> >> > > > }
>> >> > >
>> >> > > - }
>> >> > >
>> >> > > > }
>> >> > > > ========================
>> >> > >
>> >> > > First, you should fix '}',
>> >> > > Second, use try_files instead of "if"s.
>> >> > > And third, your gallery probably is served as static files by
>> >> > >
>> >> > > location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico)$ {
>> >> > >
>> >> > >
>> >> > > --
>> >> > > Igor Sysoev
>> >> > > http://sysoev.ru/en/
>> >> > >
>> >> > >
>> >> >
>> >> >
>> >> > --
>> >> >
>> >> > Yogi Berra <http://www.brainyquote.com/quotes/authors/y/yogi_berra.html>
>> >> -
>> >> > "If you ask me anything I don't know, I'm not going to answer."
>> >>
>> >> --
>> >> Игорь Сысоев
>> >> http://sysoev.ru
>> >>
>> >>
>> >
>> >
>> > --
>> >
>> > Bill Cosby <http://www.brainyquote.com/quotes/authors/b/bill_cosby.html> - "Fatherhood is pretending the present you love most is soap-on-a-rope."
>>
>>
>>
>>
>> --
>>
>> Yogi Berra <http://www.brainyquote.com/quotes/authors/y/yogi_berra.html> -
>> "If you ask me anything I don't know, I'm not going to answer."
>
> --
> Igor Sysoev
> http://sysoev.ru/en/
>
>
More information about the nginx
mailing list