Янв 172013
 

likeunix.ru
Понадобилось мне перевести apache2 редиректы из .htaccess на nginx.
Возникли некоторые трудности в этим кодом.
.htaccess

<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
  RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
  RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
</IfModule>

Так будет выглядеть в nginx.

location / {
                if (!-e $request_filename) {
        rewrite ^(.*)$ /bitrix/urlrewrite.php;
        }
                index  index.php index.html index.htm;
}

Также видим 301 редирект.
.htaccess

Redirect 301 /doors_mdf.html http://www.likeunix.local/doors/mdf/

Так будет выглядеть в nginx.

location /doors_mdf.html {
                rewrite ^(.*)$ http://www.likeunix.local/doors/mdf/ permanent;
}

А также,
.htaccess

RewriteCond %{HTTP_HOST} ^likeunix\.local$ [NC]
RewriteRule ^(.*)$ http://www.likeunix.local/$1 [R=301,L]

Так будет выглядеть в nginx.

    server {
        listen       80;
        server_name  likeunix.local;
        rewrite ^ http://www.likeunix.local$request_uri?;
        }

    server {
        listen       80;
        server_name  www.likeunix.local;
        root   /vhosts_data/likeunix.local/;
......
}

 Leave a Reply

(required)

(required)

38 Запросов к базе. 0,366 Генерации страницы, 36MB Использование памяти.
Вы зашли с IP: 54.198.108.19