我的项目要求是从Slim框架(index.php)启动angular(v6)/ ionic(v4)应用程序(index.html)。 下图显示了根文件夹结构:
'www'是Slim index.php所在的根目录。 “ www”内部是应用程序文件夹,其中添加了角度构建文件(index.php)。 要求是所有请求都应通过根文件夹中的Slim index.php,并且基于某些会话逻辑,我们必须路由或启动有角度的应用程序(index.html)。
现在,“ https://domain/”通过index.php。但, “ https://domain/app/”直接启动角度应用程序(index.html)。
如何配置nginx以便Slim index.php在根目录中处理所有请求?
server {
server_name <domain>;
root /var/www/<some name>/public/www/;
index index.php index.html index.htm;
access_log /var/log/nginx/<some name>.log;
error_log /var/log/nginx/<some name>.log;
sendfile off;
location / {
index index.php index.html index.htm;
try_files $uri $uri/ index.php /index.php?$args;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_read_timeout 36000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
谢谢
答案 0 :(得分:1)
您可以像这样限制访问app
目录
location /app {
deny all;
return 404; #show not found instead of 403
}
或者您可以通过发送重定向到https://example.com/
location /app{
deny all;
error_page 403 https:/domain.com/; #redirect to your main directory
}