Hi, I have a question regarding this tutorial http://www.howtoforge.com/running-typo3-4.6-on-nginx-lemp-on-debian-squeeze-ubuntu-11.10 First, it is a great tutorial and it helped me to get Typo3 running with nginx. But now I want to serve my typo3 project not from a 'global' domain or subdomain but from a sub folder like www.example.com/partner. I have two nginx servers. The first server gets a request www.example.com/partner and sends it 1:1 to nginx server two (where my typo3 project is located under /var/www/example), this is from the access log of server two To accomplish this I changed try files and added fastcgi_split_path_info like described here: http://wiki.nginx.org/WordPress#Non-root_try_files_to_URL_redirect but I keep getting 403 Forbidden. Here is the entire config: http://dpaste.com/739744/ Any ideas whats wrong? I did chown -R www-data:www-data /var/www/www.example.com/web so this should not be the problem.
Try this instead: Code: server { listen ip:80; server_name www.example.com example.com; root /var/www/luckygaming; if ($http_host != "www.lucky-betting.com") { rewrite ^ https://www.example.com$request_uri permanent; } index index.php index.html; location = /favicon.ico { log_not_found off; access_log off; expires max; } location = /robots.txt { allow all; log_not_found off; access_log off; } # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac). location ~ /\. { deny all; access_log off; log_not_found off; } location ~* \.(jpg|jpeg|png|gif|css|js|ico)$ { expires max; log_not_found off; } location ~* \.(cur|ico|gif|png|jpe?g|css|js|swf|woff)((\?\d\d\d\d\d\d\d\d\d\d)|(\?s=\d\d\d\d\d\d\d\d\d\d))$ { expires max; log_not_found off; } location ~* \.(cur|ico|gif|png|jpe?g|css|js|swf|woff)(\?v\d\d?\.\d\d?\.\d\d?)$ { expires max; log_not_found off; } location ~* ^(/partner/typo3/sysext|/partner/typo3conf/ext).*\.(cur|ico|gif|png|jpe?g|css|js|swf|woff) { expires max; log_not_found off; } location = /clear.gif { empty_gif; expires max; } location ^~ /partner/typo3/gfx { expires max; } location ^~ /partner/typo3temp/compressor { expires max; } location ~* \.(sql|htaccess|htpasswd|tpl|html5|xhtml) { deny all; } location /partner { if ($query_string ~ ".+") { return 405; } # pass requests from logged-in users to PHP if ($http_cookie = 'nc_staticfilecache|be_typo_user' ) { return 405; } # pass POST requests to PHP if ($request_method !~ ^(GET|HEAD)$ ) { return 405; } if ($http_pragma = 'no-cache') { return 405; } if ($http_cache_control = 'no-cache') { return 405; } error_page 405 = @nocache; # serve requested content from the cache if available, otherwise pass the request to PHP try_files /partner/typo3temp/tx_ncstaticfilecache/$host${request_uri}index.html @nocache; } location @nocache { try_files $uri $uri/ /partner/index.php?$args; } location ^~ /partner/typo3temp/tx_ncstaticfilecache { expires 43200; charset utf-8; } location ~ \.php$ { include fastcgi_params; try_files $uri =403; fastcgi_split_path_info ^(/partner)(/.*)$; # include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; } }
If you change Code: location ~ \.php$ { include fastcgi_params; try_files $uri =403; fastcgi_split_path_info ^(/partner)(/.*)$; # include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; } to Code: location ~ \.php$ { include fastcgi_params; try_files $uri [COLOR="Red"]=404[/COLOR]; fastcgi_split_path_info ^(/partner)(/.*)$; # include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; } do you get a 404 then?
It works now with this config. Actually it seems to be the same config. I just worked on it a bit and suddenly it worked. Code: server { listen ip:80; ## listen for ipv4 server_name www.example.com; if ($http_host != "www.example.com") { rewrite ^ https://www.example.com$request_uri permanent; } root /var/www/example; location = /robots.txt { allow all; log_not_found off; access_log off; } # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac). location ~ /\. { deny all; access_log off; log_not_found off; } location ~* \.(jpg|jpeg|png|gif|css|js|ico)$ { expires max; log_not_found off; } location ~* \.(cur|ico|gif|png|jpe?g|css|js|swf|woff)((\?\d\d\d\d\d\d\d\d\d\d)|(\?s=\d\d\d\d\d\d\d\d\d\d))$ { expires max; log_not_found off; } location ~* \.(cur|ico|gif|png|jpe?g|css|js|swf|woff)(\?v\d\d?\.\d\d?\.\d\d?)$ { expires max; log_not_found off; } location ~* ^(/partner/typo3/sysext|/typo3conf/ext).*\.(cur|ico|gif|png|jpe?g|css|js|swf|woff) { expires max; log_not_found off; } location = /clear.gif { empty_gif; expires max; } location ^~ /partner/typo3/gfx { expires max; } location ^~ /partner/typo3temp/compressor { expires max; } location ~* \.(sql|htaccess|htpasswd|tpl|html5|xhtml) { deny all; } location /partner { if ($query_string ~ ".+") { return 405; } # pass requests from logged-in users to PHP if ($http_cookie = 'nc_staticfilecache|be_typo_user' ) { return 405; } # pass POST requests to PHP if ($request_method !~ ^(GET|HEAD)$ ) { return 405; } if ($http_pragma = 'no-cache') { return 405; } if ($http_cache_control = 'no-cache') { return 405; } error_page 405 = @nocache; # serve requested content from the cache if available, otherwise pass the request to PHP try_files /partner/typo3temp/tx_ncstaticfilecache/$host${request_uri}index.html @nocache; } location @nocache { try_files $uri $uri/ /partner/index.php?$args; } location ^~ /partner/typo3temp/tx_ncstaticfilecache { expires 43200; charset utf-8; } index index.php index.html index.htm; # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { try_files $uri =403; include fastcgi_params; fastcgi_split_path_info ^(/partner)(/.*)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } I placed a info.php file in /partner and it displays correctly. However typo3 does not work correctly. When I go to the backend https://www.example.com/partner/backend.php it redirects me to https://www.example.com/backend.php. And firebug shows stuff like any idea how to fix this?
Can you change Code: location @nocache { try_files $uri $uri/ /partner/index.php?$args; } to Code: location @nocache { try_files /partner$uri /partner$uri/ /partner/index.php?$args; } and try again?
Changed, reloaded nginx, same problem. when I go to example.com/partner/typo3/index.php it redirects me to example.com/backend.php when I open example.com/partner it redirects me to example.com/home but it should be example.com/partner/home