Что за проблемы с nginx? Есть решение
Доброго дня!
Пользуюсь docker внутри которого находятся nginx+php
Отредактировать конфиг так, что бы скрывался index.php - получилось.
Но при этом любые post-запросы в админке - не выполняются(
Что не так - я не понимаю. Точнее понимаю, но не знаю как исправить.
Сейчас страницы запрашиваются по адресам:
[21/Dec/2015:04:36:45 +0000] "GET /blog/test2/ HTTP/1.1" 200 2737 "http://example.ru/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:42.0) Gecko/20100101 Firefox/42.0" [21/Dec/2015:04:36:47 +0000] "GET /rss/ HTTP/1.1" 200 1121 "http://example.ru/blog/test2/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:42.0) Gecko/20100101 Firefox/42.0"
А вот как дергается POST:
[20/Dec/2015:22:27:03 +0000] "POST /index.php/admin/site/?module=routing&action=save&domain_id=4&route=1 HTTP/1.1" 301 184 "http://example.ru/admin/blog/?module=design" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:42.0) Gecko/20100101 Firefox/42.0"
Лично я так понимаю что надо отрабатывать еще и этот случай, но как его прописать - я не понимаю....
Сам конфиг для NGINX выглядит вот так:
server { listen 80; root /usr/share/nginx/html; index index.php; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log info; try_files $uri $uri/ /index.php?$query_string; #rewrite ^(.*/)index.php(.*)/$ $1$2 permanent; rewrite ^(.*)/index.php/(.*)$ $1/$2 permanent; location ~ \.php { internal; try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_index index.php; include fastcgi_params; } location ^~ /wa-data/protected/ { #return 403; #X-Accel-Redirect internal; } location ~* ^/wa-(log|config|cache|system)/ { return 403; } location ~* ^/wa-data/public/contacts/photo/[0-9]+/ { root /usr/share/nginx/html/; access_log off; expires 30d; error_page 404 = @contacts_thumb; } location @contacts_thumb { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param SCRIPT_NAME /wa-data/public/contacts/photos/thumb.php; fastcgi_param SCRIPT_FILENAME $document_root/wa-data/public/contacts/photos/thumb.php; } # photos app location ~* ^/wa-data/public/photos/[0-9]+/ { access_log off; expires 30d; error_page 404 = @photos_thumb; } location @photos_thumb { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param SCRIPT_NAME /wa-data/public/photos/thumb.php; fastcgi_param SCRIPT_FILENAME $document_root/wa-data/public/photos/thumb.php; } # end photos app # shop app location ~* ^/wa-data/public/shop/products/[0-9]+/ { access_log off; expires 30d; error_page 404 = @shop_thumb; } location @shop_thumb { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param SCRIPT_NAME /wa-data/public/shop/products/thumb.php; fastcgi_param SCRIPT_FILENAME $document_root/wa-data/public/shop/products/thumb.php; } # end shop app # mailer app location ~* ^/wa-data/public/mailer/files/[0-9]+/ { access_log off; error_page 404 = @mailer_file; } location @mailer_file { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param SCRIPT_NAME /wa-data/public/mailer/files/file.php; fastcgi_param SCRIPT_FILENAME $document_root/wa-data/public/mailer/files/file.php; } # end mailer app location ~* ^.+\.(jpg|jpeg|gif|png|js|css)$ { access_log off; expires 30d; } }
1 ответ
Всё...
Прошу прощения, но проблема решена.
Надо было кроме прочего выставить в конфиге mod_rewrite в true
И оно наконец заработало!
Правда теперь другой косяк... я не вижу что бы при debug с true кэширование сбрасывалось...
Потому что сейчас если я захожу на /admin/, меня перекидывает на site.ru/
Но это уже другой вопрос и другая проблема....