September 10, 2012 08:44AM
On Mon, Sep 10, 2012 at 07:44:05AM -0400, Darwin wrote:
> Андрей Василишин Wrote:
> -------------------------------------------------------
> > 10.09.2012 12:53, Darwin пишет:
> > > Привет всем. Помогите пожалуйста правильно конвертировать правила
> > для NGINX,
> > > так как со стандартного конверта они не работают =(
> > >
> > > ### Редиректы с site.ru/category/index.php на site.ru/category/ и
> > др.
> > > RewriteCond %{REQUEST_FILENAME} !-f
> > > RewriteCond %{REQUEST_FILENAME} !-d
> > > RewriteCond %{REQUEST_URI} (.*) index\.php$
> > > RewriteRule ^(.*) index\.php$ $1 [R=301,L]
> > >
> > > ### Редиректы с index.php на сайт
> > > RewriteBase /
> > > RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
> > > RewriteRule ^index\.php$ / [R=301,L]
> > > RewriteCond %{REQUEST_FILENAME} !-f
> > > RewriteCond %{REQUEST_FILENAME} !-d
> > > RewriteRule . /index.php [L]
> >
> >
> > http://nginx.org/en/docs/http/converting_rewrite_rules.html#converting
> > _mongrel_rules
> >
> > к примеру конструкция
> >
> > RewriteCond %{REQUEST_FILENAME} !-f
> > RewriteCond %{REQUEST_FILENAME} !-d
> > RewriteRule ^(.*)$ ./index.php
> >
> > в нгинкс выглядит так:
> >
> > try_files $uri $uri/ /index.php;
>
> Трудно что либо понять... ну да ладно, разберемся...

Понять действительно трудно. Например, что должно делать вот это:

RewriteCond %{REQUEST_URI} (.*) index\.php$

при том, что параметров у RewriteCond - два. К чему "index\.php$"
Может быть там "(.*)/index\.php$" ?

Тогда как-то так:

location / {
try_files $uri $uri/ @fastcgi;
}

location ~ "^(?<DIR>.*/)index\.php$" {
internal;
error_page 404 =301 http://$host$DIR;

fastcgi_pass ...
...
}

location @fastcgi {
fastcgi_pass ...
...
}


--
Igor Sysoev

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Перенос правил с Apache для nginx

Darwin September 10, 2012 05:53AM

Re: Перенос правил с Apache для nginx

Андрей Василишин September 10, 2012 06:06AM

Re: Перенос правил с Apache для nginx

Darwin September 10, 2012 07:44AM

Re: Перенос правил с Apache для nginx

Igor Sysoev September 10, 2012 08:44AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 150
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready