宝塔部署项目404错误,隐藏入口文件

当我们在本地把php项目写完之后,哟啊发布到线上,本地我们一般使用的是apache,而服务器使用的却是nginx,当我们吧php项目上传到线上之后,访问会出现404错误,是因为本地的apache规则不适合线上的nginx,这时我们需要找到nginx的vhost配置文件,并打开编辑它,在server里加上如下代码:

 location / { 
    if (!-e $request_filename) {
        rewrite  ^(.*)$  /index.php?s=/$1  last;
     }
   } 

下面是编辑后的内容

server
{
    listen 8007;
    server_name 94.191.42.70;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/bg.com/public;

    ```隐藏入口文件```
   location / { 
    if (!-e $request_filename) {
        rewrite  ^(.*)$  /index.php?s=/$1  last;
     }
   } 

   
    #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
    #error_page 404/404.html;
    #SSL-END
    
    #ERROR-PAGE-START  错误页配置,可以注释、删除或修改
    error_page 404 /404.html;
    error_page 502 /502.html;
    #ERROR-PAGE-END
    
    #PHP-INFO-START  PHP引用配置,可以注释或修改
    include enable-php-56.conf;
    #PHP-INFO-END
    
    #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
    include /www/server/panel/vhost/rewrite/bg.com.conf;
    #REWRITE-END
    
    #禁止访问的文件或目录
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
    {
        return 404;
    }
    
    #一键申请SSL证书验证目录相关设置
    location ~ \.well-known{
        allow all;
    }
    
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        error_log off;
        access_log off;
    }
    
    location ~ .*\.(js|css)?$
    {
        expires      12h;
        error_log off;
        access_log off; 
    }
    access_log  /www/wwwlogs/bg.com.log;
    error_log  /www/wwwlogs/bg.com.error.log;
}

然后重载一下配置文件,重启服务器,当然如果使用宝塔添加的站点,这时是没有vhost.conf文件的,它会在 ````www/server/panel``` 文件夹下有一个 vhost 文件夹,所有添加的站点的 vhost.conf 文件都在这里,站点名称就是文件夹名称,直接编辑它,加入如上面的代码片段,然后重载配置文件,重启服务器就ok了。

你可能感兴趣的:(宝塔部署项目404错误,隐藏入口文件)