Mac下使用MAMP配置Nginx

Mac下使用MAMP配置Nginx

觉得很垃圾的一款,但是没办法,不得不用他

Mac开发PHP的开发环境,也是一直用的是Apache,


首先我想的是将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一样到处去改!

猜你喜欢

转载自blog.csdn.net/ffzhihua/article/details/89371994