Apache для nginx - htaccess не работает и не пытается конвертировать - PullRequest
0 голосов
/ 05 марта 2012

Я пытаюсь использовать внутреннюю среду, которая обычно работает на Apache на nginx.Мне не повезло конвертировать htaccess.

Я пытался http://www.anilcetin.com/convert-apache-htaccess-to-nginx/ безрезультатно.Затем я сам сделал это (придумал другие правила), и это тоже не работает.Вот что у меня сейчас есть:

            index index.php;

            location / {
                    if ( !-e $request_filename ) {
                            rewrite ^(.*)$ /index.php?$1 last;
                            break;
                    }
                    rewrite ^/$ /? last;
            }

            location ~ ^/(assets|robots\.txt|favicon\.ico|license.txt) {

            }

             location ~ \.php$ {
              fastcgi_pass   unix:/var/run/php5-fpm.sock;
              fastcgi_index index.php;
              fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
              include fastcgi_params;
             }

htaccess, который я пытаюсь конвертировать:

DirectoryIndex index.php
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|assets|robots\.txt|favicon\.ico|license.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA] 
RewriteCond %{QUERY_STRING} .
RewriteRule ^$ /? [L]

Кто-нибудь случайно узнает, что не так или что мне делать?

Спасибо!

1 Ответ

0 голосов
/ 06 марта 2012

Вы почти никогда не должны использовать if в конфигурации Nginx.Попробуйте это -

location / {
    try_files $uri /index.php;
}

Остальная часть не переписывает определенные файлы, так что длинный уродливый блок местоположения регулярных выражений не нужен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...