ドメインのサブディレクトリにCodeigniterをセットアップしようとしています。現在、私はインデックスページでCodeigniterから404のみを取得しています。行きたいと思ったらすぐにexample.com/api/welcome/index
nginxから404を取得しました。
ぼくの nginx.conf
:
location /api/ {
alias /var/www/api/;
try_files $uri $uri/ /api/index.php =404;
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass backend;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
およびCodeigniter.conf
:
$config['base_url'] = 'https:/example.com/api/';
$config['uri_protocol'] = 'REQUEST_URI';
$config['index_page'] = '';
うまくいったので、解決策は$ request_filenameを使用することでした。 $ document_root $ fastcgi_script_nameの代わりに;
location /api/ {
alias /var/www/api/;
try_files $uri $uri/ /api/index.php;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass backend;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
}