Hello. I have the following problem:
I created a site on Yii2 advanced using Apache and the following .htaccess
Options +SymLinksIfOwnerMatch IndexIgnore */* RewriteEngine on RewriteCond %{REQUEST_URI} ^/admin RewriteRule ^admin\/?(.*) /backend/web/$1 RewriteCond %{REQUEST_URI} !^/(frontend/web|backend/web|admin) RewriteRule (.*) /frontend/web/$1 RewriteCond %{REQUEST_URI} ^/frontend/web RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /frontend/web/index.php RewriteCond %{REQUEST_URI} ^/backend/web RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /backend/web/index.php
But now, I need to transfer my site to nginx 1.6. I found this config file
server { listen %ip%:%httpport%; listen %ip%:%httpsport% ssl; server_name %host% %aliases%; # if ($request_method !~* ^(GET|HEAD|POST)$ ){return 403;} location ~ /\. {deny all;} location / { root "%hostdir%/frontend/web"; index index.php; try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { root "%hostdir%/frontend/web"; try_files $uri =404; # if (!-e $document_root$document_uri){return 404;} fastcgi_pass backend; fastcgi_index index.php; fastcgi_buffers 4 64k; fastcgi_connect_timeout 1s; fastcgi_ignore_client_abort off; fastcgi_next_upstream timeout; fastcgi_read_timeout 5m; fastcgi_send_timeout 5m; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param HTTPS $https; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param REQUEST_URI $request_uri; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $host; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param SERVER_SOFTWARE nginx; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param TMP "%sprogdir%/userdata/temp"; fastcgi_param TMPDIR "%sprogdir%/userdata/temp"; fastcgi_param TEMP "%sprogdir%/userdata/temp"; } location /openserver/ { root "%sprogdir%/modules/system/html"; index index.php; %allow%allow all; allow 127.0.0.0/8; allow ::1/128; allow %ips%; deny all; location /openserver/server-status { stub_status on; } location ~ ^/openserver/.*\.php$ { root "%sprogdir%/modules/system/html"; fastcgi_pass backend; fastcgi_index index.php; fastcgi_buffers 4 64k; fastcgi_connect_timeout 1s; fastcgi_ignore_client_abort off; fastcgi_next_upstream timeout; fastcgi_read_timeout 5m; fastcgi_send_timeout 5m; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param HTTPS $https; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param REQUEST_URI $request_uri; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $host; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param SERVER_SOFTWARE nginx; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param TMP "%sprogdir%/userdata/temp"; fastcgi_param TMPDIR "%sprogdir%/userdata/temp"; fastcgi_param TEMP "%sprogdir%/userdata/temp"; } } }
But only the frontend works, tell me how to make the backend accessible via the / admin link. Thank.
PS I work for Openserver. Never worked with nginx.
fastcgi_pass backend;
, but there is no such upstream - it means you need to see exactly what you wrote in the same recommendations, add an upstream section and assign connection parameters to your backend there. It should work out. - nörbörnën 5:56 pm