У меня установлен выделенный сервер с CentOS 6.5 Plesk 11.5, и я включил Nginx для обработки файлов PHP.
Я включил службы в Plesk Инструменты / Управление службами:
- Обратный прокси-сервер (nginx)
- Поддержка PHP-FPM для nginx
и в Domains / example.com / Настройки веб-сервера
- Умная обработка статических файлов
- Обслуживайте статические файлы напрямую с помощью nginx
- Обработка PHP с помощью nginx
Я использую CodeIgniter Framework, с настройками по умолчанию все работает хорошо. Но когда я пытаюсь удалить index.php в файле конфигурации CodeIgniter (config.php)
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';
предыдущий URL example.com/project/index.php/text превращается в example.com/project/text хотя я не могу получить доступ к ссылке и имею следующую ошибку:
Не указан входной файл.
Я искал и есть много решений, у меня ничего не работало. Plesk автоматически генерирует конфигурации Nginx для каждого домена. Согласно руководствам, я попытался добавить этот код в Дополнительные директивы nginx в Domains / example.com / Настройки веб-сервера.
location ~ /project {
try_files $uri $uri/ /index.php?$args;
}
У меня другая ошибка:
Файл не найден.
Что мне изменить и где? Я потратил 2 дня безуспешно.
У меня есть следующий код в example.com.conf, но он автоматически создается Plesk.
server {
listen IP_IS_HIDDEN:80;
server_name domain.com;
server_name www.example.com;
server_name ipv4.example.com;
client_max_body_size 128m;
root "/var/www/vhosts/example.com/httpdocs";
access_log /var/www/vhosts/system/example.com/logs/proxy_access_log;
if ($host ~* ^www.example.com$) {
rewrite ^(.*)$ http://example.com$1 permanent;
}
location / {
proxy_pass http://IP_IS_HIDDEN:7080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
access_log off;
}
location @fallback {
proxy_pass http://IP_IS_HIDDEN:7080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
access_log off;
}
location ~ ^/plesk-stat/ {
proxy_pass http://IP_IS_HIDDEN:7080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
access_log off;
}
location ~ ^/(.*\.(ac3|avi|bmp|bz2|css|cue|dat|doc|docx|dts|exe|flv|gif|gz|htm|html|ico|img|iso|jpeg|jpg|js|mkv|mp3|mp4|mpeg|mpg|ogg|pdf|png|ppt|pptx|qt|rar|rm|swf|tar|tgz|txt|wav|xls|xlsx|zip))$ {
try_files $uri @fallback;
}
location ~ ^/~(.+?)(/.*?\.php)(/.*)?$ {
alias /var/www/vhosts/example.com/web_users/$1/$2;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass "unix:/var/www/vhosts/system/example.com/php-fpm.sock";
include /etc/nginx/fastcgi.conf; }
location ~ ^/~(.+?)(/.*)?$ {
proxy_pass http://IP_IS_HIDDEN:7080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
access_log off;
}
location ~ \.php(/.*)?$ {
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass "unix:/var/www/vhosts/system/example.com/php-fpm.sock";
include /etc/nginx/fastcgi.conf; }
location ~ /$ {
index index.html index.cgi index.pl index.php index.xhtml index.htm index.shtml;
}
include "/var/www/vhosts/system/example.com/conf/vhost_nginx.conf";
}