新手求助: Nginx 的 location 问题

2017-05-09 22:58:26 +08:00
 rockeyhan

站点要求静态化。生成的页面按类别分目录存放在:/article, /product,/category....( category 为产品类别及文章类别页面,由 category.php 填充数据后静态化而成。)

以上静态页面所在目录由于需要 PHP 进行写入,所以权限设置为 777。

在 nginx 中配置:

server{ ......

location ~ "^/article" {
}

location ~ "^/category" {
}

......

}

问题来了。因为有站内搜索,form 数据要 POST 到 /category/search/,目前站点搜索的话返回 404 错误。根据观察,正常的搜索结果是提交到了 category.php 处理:www.xxx.com/category.php?q=test&type=product&name=search

我尝试在 nginx 中添加:

location  /category/search/ {
	proxy_pass http://www.xxx.com/catetory.php;
}

貌似不行啊,折腾了半晚上了。有没有人得空给指点一下?谢谢哈~

我是自学入门,青涩得一塌糊涂,请多多包涵。

1275 次点击
所在节点    问与答
3 条回复
msg7086
2017-05-09 23:42:04 +08:00
location 有优先级。
这里也不需要 proxy 而需要内部 rewrite。
msg7086
2017-05-09 23:42:41 +08:00
另外 777 会让你的网站有严重安全问题。
rockeyhan
2017-05-10 08:48:19 +08:00
@msg7086 好的,谢谢提醒,我再试试。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/360246

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX