美文网首页服务器后端开发mac
Mac下使用MAMP配置Nginx

Mac下使用MAMP配置Nginx

作者: YxYYxY | 来源:发表于2017-12-02 15:00 被阅读3881次

    之前一直是使用MAMP作为Mac开发PHP的开发环境,也是一直用的是Apache,最近想换为Nginx,但是折腾了好久!以下为踩坑记录.如需看解决办法,请直接滑到最下方


    首先我想的是将Apache关掉,打开Nginx不就完工了

    image
    然后刷新网页,哈哈,成功打开首页,正当我觉得这就完事了,点击了一下其他链接
    image
    WTF这是什么鬼
    image
    经查资料得知:原网站环境为wamp使用了伪静态,伪静态规则写在网站根目录的.htaccess文件中,Apache下默认识别此文件内容,而Nginx服务器不识别.htaccess文件,导致伪静态规则无效,自然无法解析url地址,导致404错误(文件不存在)

    开始找解决办法

    然后开始搜索解决办法,网上有说把.htaccess转成Nginx规则的,我找到项目目录下的.htaccess文件,在网上找了个Apache转Nginx的网站,粘贴进去获得如下代码

    if (!-d $request_filename){
        set $rule_0 1$rule_0;
    }
    if (!-f $request_filename){
        set $rule_0 2$rule_0;
    }
    if ($rule_0 = "21"){
        setenv PATH_INFO:$1;
        rewrite ^/(.*)$ /index.php last;
    }
    

    然后开始找nginx.conf文件
    网上有说路径在/Applications/MAMP/conf/nginx/nginx.conf,一找,果然在这,把规则粘贴进去,高高兴兴打开网站刷新

    image
    为啥还是404?????
    继续找吧!我想MAMP这么高级的集成环境,应该不会让用户去目录里找配置文件吧,在软件中翻了一下,发现这有俩框
    image
    粘贴规则进去,刷新,还是404
    因为我使用的是TP5框架,索性去官网找找,在官网中找到这样一段代码
    location / { // …..省略部分代码
       if (!-e $request_filename) {
       rewrite  ^(.*)$  /index.php?s=/$1  last;
       break;
        }
     }
    
    image
    怎么和我转换出来的不一样???好像发现了问题所在,哗哗的将这段代码复制带nginx.conf中,跑起来,尼玛,为啥又是404
    看来搜索引擎不靠谱,这次直接去了MAMP官网,看到一段话
    image
    尼玛,原来上面那个路径根本就不对啊,网友坑啊
    然后将TP5官网的规则复制进这个目录下的nginx.conf里面
    一刷新,卧槽,还是404,为毛为毛,官网明明说的这个路径啊

    多次尝试无果,静下心来把官网的文档重头看了一遍,文档开头这样写道

    image
    image
    image
    image
    然后将代码复制到这个位置,然后重启Nginx
    image

    成功了,成功了,成功了,所以啊,有时候还是要相信这些环境肯定会给你提供简单办法!自己非得2B一样到处去改!

    相关文章

      网友评论

        本文标题:Mac下使用MAMP配置Nginx

        本文链接:https://www.haomeiwen.com/subject/tuunbxtx.html