`

Nginx Alias 无法解析PHP的解决办法

阅读更多

Nginx Alias 无法解析PHP的解决办法:

server {
        listen       80;
        server_name  xxxx.com.cn;


        error_log  /tmp/eror.log;
        set $www_root /home/web/yqbb/bgskk;


        location / {
            root   $www_root;
            index  index.html index.php;
        }


        location /feedback {
            index  index.php;
            alias /home/web/yqbb/bgskk/app/htdocs;
        }


        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }


        location ~ ^/feedback/.+\.php$ {
                root /home/web/yqbb/bgskk/app/htdocs;
                rewrite /feedback/(.*\.php?) /$1 break;
                include fastcgi.conf;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param SCRIPT_FILENAME /home/web/yqbb/bgskk/app/htdocs/$fastcgi_script_name;
        }


        location ~ .*\.(php|php5)?$ {
                fastcgi_pass  127.0.0.1:9000;
                fastcgi_index index.php;
                include fastcgi.conf;
        }


    }


 

 

server
    {
        listen 80;  #端口号
        server_name www.linuxidc.com;   #域名
        index index.html index.htm index.php index.shtml;  #默认首页
        root  /var/www/html;  #网站根目录
        charset gbk;    #默认编码

        location /public/  #设定要重写的目录名
        {
                alias /var/www/public/; #重定向目的目录。

                #例:如果用户访问http://www.linuxidc.com/public/test.html 不会访问/var/www/html/public/test.html,而访问的是/var/www/public/test.html,虽然这个文件并没有在域名目录下
        }

#做完上面的设置后,我们发现访问PHP文件http://www.linuxidc.com/public/test.php时,还是去访问了/var/www/html/public/test.php,也就是说访问php文件没有起到重定向的作用,所以我们还要配置如下这段

#start


        location ~ ^/public/.+\.php$
        {
                root /var/www/html/web/news/public;
                rewrite /public/(.*\.php?) /$1 break;
                include fastcgi.conf;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
        }

#end


        location ~ .*\.(php|php5)?$
        {
            #fastcgi_pass  unix:/tmp/php-cgi.sock;
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
            #include fcgi.conf;
            include fastcgi.conf;
            rewrite  ^/([a-zA-Z]+)\/([a-zA-Z]+)$ /$2.shtml last;
        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;  #缓存30天
        }

        location ~ .*\.(js|css)?$
        {
            expires      1h; #缓存1个小时
        }

        access_log  /var/log/linuxidc.log  access;  #定义日志文件
        ssi on;
        ssi_silent_errors on;
        ssi_types text/shtml;
    }

分享到:
评论

相关推荐

    nginx实现一个域名配置多个laravel项目的方法示例

    在Nginx配置中,我们主要会用到`location`指令和`alias`指令。`location`用于定义URL匹配规则,而`alias`指令则用于指定请求应被重定向到的目录。 以下是针对项目1的Nginx配置示例: ```nginx location ^~ /project...

    实战nginx-全

    **实战Nginx全解析** 在当今互联网世界中,Nginx是一款广泛应用的高性能Web服务器和反向代理服务器,以其高效、稳定和易扩展的特性备受开发者青睐。本资料主要涵盖了Nginx的安装配置、性能优化以及各种模块的详细...

    nginx场景配置与常见错误解析

    ### Nginx场景配置与...通过以上的场景配置与错误解析,可以有效地提高Nginx服务器的性能和安全性,同时也可以帮助运维人员快速定位和解决问题。这些配置不仅适用于特定的业务场景,而且也是构建高效Web服务的基础。

    nginx配置location时容易出现的误区

    本文将针对这些误区进行详细解析,并探讨 `root` 和 `alias` 的配置对 URL 的影响。 #### 一、Location 的匹配顺序 **误区:** “location 的匹配顺序是‘先匹配正则,再匹配普通’”。 **事实:** 实际上,`...

    Nginx+PhpMyadmin4.1.4

    在Nginx环境中,需要通过FastCGI进程与PHP解释器通信,以解析和执行PhpMyadmin的PHP文件。这通常涉及到安装PHP-FPM(FastCGI Process Manager)并配置Nginx以与之交互。 在提供的压缩包中,`start.bat`和`stop.bat`...

    Nginx高性能Web服务器实战教程

    《Nginx高性能Web服务器实战教程》是一本深入解析Nginx服务器的实用指南,旨在帮助读者掌握如何利用Nginx构建高效、稳定的Web服务环境。Nginx以其反向代理、负载均衡、静态文件处理等功能,以及轻量级、高性能的特性...

    TP5_Nginx_Ci_HTTPS_centos7_网站配置方法和文件

    标题 "TP5_Nginx_Ci_HTTPS_centos7_网站配置方法和文件" 涉及的关键技术点包括ThinkPHP5(TP5)、CentOS7操作系统、Nginx服务器、CodeIgniter(CI)框架以及HTTPS配置。下面将详细阐述这些知识点。 1. **ThinkPHP5 ...

    nginx-tutorial:最全面,最深入的nginx从入门到精通的教程

    1. 配置 PHP-FPM:Nginx 通过与 PHP-FPM(FastCGI 进程管理器)配合,实现 PHP 文件的解析。 2. 使用 `location ~ \.php$` 匹配 PHP 请求,`fastcgi_pass` 指向 PHP-FPM 监听的端口或 Unix Socket。 六、Nginx 与 ...

    Ngnix从入门到精通

    5. Nginx root & alias文件路径配置:配置文件中的root和alias指令用于指定资源文件的路径,其中root用于指定资源的基础路径,alias用于指定匹配特定location时的实际路径。 6. Nginx日志配置:Nginx提供丰富的日志...

    PHPWeb程序设计习题.pdf

    11. 在“我的电脑”中双击PHP文件通常无法直接运行,因为Windows默认不识别PHP文件的执行方式,需要通过安装PHP环境(如XAMPP或WAMP)来运行。 12. 动态网站是基于服务器端脚本(如PHP)生成内容的网站,可以根据...

    [主机域名]雨过星晴二级域名系统v1.0_xydns10【PHP】.zip

    部署该系统时,需要一个支持PHP运行的Web服务器,如Apache或Nginx,以及PHP环境。配置文件可能包含数据库连接信息、系统设置等,部署前需根据实际环境进行调整。 10. 日志与监控: 为了便于故障排查和性能优化,...

    drupal 代码实现URL重写

    如果问题仍然存在,创建一个自定义URL重写模块,如`subpath_alias`,可能是解决这个问题的一个策略。 **四、URL重写模块** Drupal 社区还提供了许多预封装的URL重写模块,如Pathauto,它自动为内容生成友好的URL,...

    thinkphp3.2离线文档

    - 兼容Apache、IIS、nginx等主流Web服务器。 - 支持Mysql、MsSQL、PgSQL、Sqlite、Oracle、Ibase、Mongo及PDO等数据库。 - 需要PHP5.3或更高版本。 - **目录结构**: - **www**: Web部署目录。 - **index.php**:...

Global site tag (gtag.js) - Google Analytics