首先深入研究 nginx。可能缺乏 googlefoo/stack 技能。这应该很容易解决,但我真的很难掌握 nginx 的配置。我还没有找到对我有意义且看起来像“最佳实践”风格的文档。
我正在尝试将网站从 apache 迁移到 nginx。该网站有一个静态 html 登陆页面,允许用户通过链接选择“子网站”。因此,他们进入并点击 index.html(工作正常),然后假设他们点击 www.example.com/hhc/ 的链接。他们不会显示我的 hhc 子文件夹中的 index.php,而是看到实际 hhc/index.php 文件的下载对话框,而不是由 php-fpm 后端处理它。但是,如果我输入完整的 URI(www.example.com/hhc/index.php),php-fpm 后端会很好地处理它。
我错过了什么?
配置:
server {
listen 80;
server_name_in_redirect off;
root /var/www/html/;
# whack trailing slashes
rewrite ^/(.*)/$ /$1 permanent;
location / {
index index.html;
}
location /hhc {
fastcgi_index index.php;
try_files $uri $uri/ /hhc/index.php?q=$request_uri;
}
# Process all .php files using the php-fpm local port
location ~* \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
谢谢!
答案1
尝试将 index.php 添加到 location / 块中的 index 指令中,如下所示
location / {
index index.html /index.php;
}