Как остановить отправку статических файловых запросов Nginx на контроллер приложения CakePHP при запуске Cake в подкаталоге?
Я пытаюсь запустить приложение CakePHP из подпапки на Nginx, но статические файлы не обнаруживаются и вместо этого передаются в контроллер приложения. Вот мой текущий конфиг:
location /uniquetv {
index index.php index.html;
if (-f $request_filename) {
break;
}
if (!-e $request_filename) {
rewrite ^/uniquetv(.+)$ /uniquetv/webroot/$1 last;
break;
}
}
location /uniquetv/webroot {
index index.php;
if (!-e $request_filename) {
rewrite ^/uniquetv/webroot/(.+)$ /uniquetv/webroot/index.php?url=$1 last;
break;
}
}
Есть идеи?:)
1 ответ
Throlkim, что именно отображается, когда вы переходите по URL, который хотите использовать? т.е. вы получаете сообщение об ошибке 504 и т. д.
вам нужно что-то похожее на это, которое работает для меня
server {
listen 80;
server_name yourwebsite.com;
access_log /path_to_your_logfile/log/access.log;
error_log /path_to_your_logfile/log/error.log;
location / {
root /path_to_cake_root/cake/app/webroot;
index index.php;
if (-f $request_filename) {
break;
}
if (!-f $request_filename) {
rewrite ^/(.+)$ /index.php?url=$1 last;
break;
}
#pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /path_to_cake_root/cake/app/webroot/index.php;
#$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
}
Я задал похожий вопрос, который был решен в соответствии с принятым ответом, и немного изменил правила настройки / перезаписи торт- php & nginx