关于Nginx下配置CI框架默认首页的问题。

大道泛兮 2016-08-22 04:44:06
nginx配置如下
server {
listen 8083;
server_name www.blogsite.com;
root /usr/local/var/www/blogsite;
index index.php index.htm index.html;

location / {
#try_files $uri $uri/ /index.php;
}

location /index.php{
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /usr/local/var/www/blogsite/index.php;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi.conf;
}

location /domain.php{
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /usr/local/var/www/blogsite/domain.php;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi.conf;
}
}
并且也在config/routes.php文件中设置了,index首页。

现在的问题是,如果我访问,www.blog.com/domain.php 就会自动下载domain.php文件,而不是默认打开index首页,
若是访问,www.blog.com/domain.php/Index/index 或者www.blog.com/domain.php/index 却是都可以的,
求助,这种问题,是什么情况。我该怎么配置。
...全文
601 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
大道泛兮 2016-08-22
  • 打赏
  • 举报
回复
引用 5 楼 jam00 的回复:

server {
    listen 8083;
    server_name www.blogsite.com;
    root /usr/local/var/www/blogsite;
    index index.php index.htm index.html;

	location ~ [^/]\.php(/|$)
        {
            try_files $uri =404;
            fastcgi_pass  unix:/tmp/php-cgi.sock;
            fastcgi_index index.php;
            include fastcgi.conf;
        }
    location / {
        #try_files $uri $uri/ /index.php;
    }
}
访问 www.blogsite.com:8083/domain.php
这个配置报错,502。 我已经搞出来了,还是很谢谢你。 我把location / 里的注释打开,清理了缓存。没问题了。
果酱很好吃 2016-08-22
  • 打赏
  • 举报
回复

server {
    listen 8083;
    server_name www.blogsite.com;
    root /usr/local/var/www/blogsite;
    index index.php index.htm index.html;

	location ~ [^/]\.php(/|$)
        {
            try_files $uri =404;
            fastcgi_pass  unix:/tmp/php-cgi.sock;
            fastcgi_index index.php;
            include fastcgi.conf;
        }
    location / {
        #try_files $uri $uri/ /index.php;
    }
}
访问 www.blogsite.com:8083/domain.php
大道泛兮 2016-08-22
  • 打赏
  • 举报
回复
引用 1 楼 jam00 的回复:
location ~ [^/]\.php(/|$) { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; } 把这段放在所有 location 之前,然后再写你的 rewrite
大爷的,是缓存问题,不用加你给的这段配置了。
大道泛兮 2016-08-22
  • 打赏
  • 举报
回复
引用 1 楼 jam00 的回复:
location ~ [^/]\.php(/|$) { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; } 把这段放在所有 location 之前,然后再写你的 rewrite
现在是这样的, location ~ [^/]\.php(/|$) { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; } location / { #try_files $uri $uri/ /index.php; } 可还是下载文件。
大道泛兮 2016-08-22
  • 打赏
  • 举报
回复
引用 1 楼 jam00 的回复:
location ~ [^/]\.php(/|$) { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; } 把这段放在所有 location 之前,然后再写你的 rewrite
我将你说的这段配置放在了 location / 之前,并且try_files $uri $uri/ /index.php;仍然是注释掉的,可还是那个问题。 仍然是下载文件。
果酱很好吃 2016-08-22
  • 打赏
  • 举报
回复
location ~ [^/]\.php(/|$) { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; } 把这段放在所有 location 之前,然后再写你的 rewrite

4,251

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧