2015-10-28 3 views
1

Я пытаюсь создать ngnix с рамочным учебник PhalconPHP, которые они предоставили структуру:конфигурации Nginx для PhalconPHP учебник

учебник/.htaccess:

RewriteEngine on 
RewriteRule ^$ public/ [L] 
RewriteRule (.*) public/$1 [L] 

учебник/общественности /.htaccess:

AddDefaultCharset UTF-8 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L] 

Другая папка app, которая со содержит папки: controllers, models и views. Теперь этот учебник отлично работает на apache, но на nginx я пробовал разные правила, которые не работают. Базовая конфигурация моего ngnix является:
сервер конфигурации:

server { 
    listen 80; 
    server_name localhost; 
    root C:/nginx/html; 
    location /tutorial { 
    rewrite ^/tutorial/(.*)$ /tutorial/public/$1 break; 
    try_files $uri $uri/ /tutorial/public/index.php?q=$uri&$args; 
    } 
    location /tutorial { 
     root C:/nginx/html; 
     index index.php; 
     rewrite ^/tutorial/(/.*)$ /public$1 break; 
     try_files $uri $uri/ /tutorial/public/index.php?$args; 
    } 
} 

Может кто-нибудь, пожалуйста, помогите мне в создании правил определения местоположения для этого учебника по nginx.I даже конвертированы эти .htaccess правила в правила Nginx онлайн, но я не знаю, где я ошибаюсь.

+0

Я думаю, что ваша конфигурация nginx здесь неполна, есть ли в ней инструкция 'location'? только эти две части? & Я предлагаю вам посетить основные документы [здесь] (https://docs.phalconphp.com/ru/latest/reference/nginx.html). – M2sh

+0

Нет, это не так, я только что дал свой корневой путь. Я просто хочу узнать о правилах местоположения, которые я применяю для этой структуры папок на фальконечной основе. –

+0

Хорошо, если у вас есть php-fpm с вашим nginx для php-интерпретации, вы можете используйте основные документы, о которых я упомянул в своем первом комментарии. – M2sh

ответ

1

Кажется, вы используете Windows в Nginx & хотите использовать Phalcon
Таким образом, вы можете установить PHP - FastCGI on Windows Затем, используя основной PhalconPHP Nginx конфигурации, которые включены в документы here.
Это может быть, как это:

server { 
    listen 80; 

    server_name localhost; 

    index index.php index.html index.htm; 

    root C:/nginx/html/tutorial/public; 

    try_files $uri $uri/ @rewrite; 

    location @rewrite { 
     rewrite ^(.*)$ /index.php?_url=$1; 
    } 
    location ~ \.php$ { 
     fastcgi_pass 127.0.0.1:9123; 
     fastcgi_index index.php; 
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
     fastcgi_split_path_info  ^(.+\.php)(/.+)$; 
     fastcgi_param PATH_INFO  $fastcgi_path_info; 
     fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; 

     include  fastcgi_params; 
    } 


    location ~* ^/(css|img|js|flv|swf|download)/(.+)$ { 
     root C:/nginx/html/tutorial/public; 
    } 

    location ~ /\.ht { 
     deny all; 
    } 
} 

Try выше конфигурации.

+0

Ничего себе .. это работает. Теперь я получаю сообщение обработчика исключений, но это другое. Только небольшое изменение .. поскольку мой php-cgi.exe настроен на 127.0.0.1:9000, мне пришлось изменить порт. Большое большое спасибо –

Смежные вопросы