В данном случае первая 404 не будет отдана клиенту, а будет обработана
nginx-ом (второй location)
А вот если location = /index.php вернёт 404, то она уже отдастся клиенту.
----- Original Message -----
From: "Driantsov Alexander" <bender@xxxxxxx>
To: <nginx-ru@xxxxxxxxx>
Sent: Tuesday, July 24, 2007 2:42 PM
Subject: Re: Переделка rewrite rule из .htaccess под nginx
On Tue, 17 Jul 2007 15:19:33 +0400
Igor Sysoev <is@xxxxxxxxxxxxx> wrote:
> On Tue, Jul 17, 2007 at 03:14:49PM +0400, Oleg Danilov wrote:
>
> > Может поможет кто-то переделать несколько правил с апача на nginx
> >
> > RewriteCond %{REQUEST_FILENAME} !-f
> > RewriteCond %{REQUEST_FILENAME} !-d
> > RewriteRule ^(.*)$ /index.php?path=$1&%{QUERY_STRING}
>
> location / {
> error_page 404 = /index.php?path=$uri&$args;
> }
>
> location = /index.php {
> fastcgi_pass ...
> #proxy_pass ...
> }
Хотелось бы вновь поднять эту тему. Видите ли, если я буду использовать
решение "error_page 404 = ...", то поисковики не будут обрабатывать подобные
страницы, увидев в header'е ошибку, это крест на SEO. Существует ли другой
оптимальный солюшн для обработки подобных ситуаций. Мой .htaccess для
Apache'а на данный момент выглядит вот так:
RewriteEngine On
Options +FollowSymLinks
RewriteBase some_directory/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* some_directory/some_script.php [L]
--
Sincerely yours,
Driantsov Alexander,
Technical Support Engineer
Qualiteam Software
Glavpochtamt, p/o box 5152. [web site] http://www.x-cart.com/
432072 Ulyanovsk, Russia [ phone ] +7-(8422)-429037 (9:00-18:00 GMT
+4)