Board logo

标题: nginx重定向,lnmp1.2可以1.4却不行 [打印本页]

作者: 3204992982    时间: 2018-4-14 16:12     标题: nginx重定向,lnmp1.2可以1.4却不行

@军哥
大佬,请教个问题
rewrite  ^(.*)$  /index.php?s=$1  last;
带有php的重定向不了

例子:http://www.d.com/news.php

No input file specified.
错误

1.2版本是可以的
作者: Ang    时间: 2018-4-14 19:50

nginx官方是支持return 301 这种方式做重定向的

你试试return的方式看?
作者: licess    时间: 2018-4-15 09:05

No input file specified. 肯定是你自己修改过网站目录,而没有同步修改 .user.ini 自行官网上搜索 防跨目录设置
作者: 3204992982    时间: 2018-4-16 11:18     标题: 回复 2# 的帖子

不是这个问题,http://www.d.com/news/  是可以正常的
我怀疑是
http://www.d.com/news.php   重定向后变成了http://www.d.com/index.php?s=news.php
nginx会去查找   index.php?s=news.php  这个文件,所以报文件不存在

正确应该是index.php这个文件,然后把news.php这个参数发送过去
作者: 3204992982    时间: 2018-4-16 11:19     标题: 回复 3# 的帖子

没有修改过目录,都是一模一样的东西

我怀疑是
http://www.d.com/news.php   重定向后变成了http://www.d.com/index.php?s=news.php
nginx会去查找   index.php?s=news.php  这个文件,所以报文件不存在

正确应该是index.php这个文件,然后把news.php这个参数发送过去:Q
作者: licess    时间: 2018-4-16 17:11     标题: 回复 5# 的帖子

你自己规则上就是这么写的,要先判断文件的话 if (!-e $request_filename) 后在rewrite,不明白的话去查哪些已经写好的伪静态是怎么写的
作者: 3204992982    时间: 2018-4-17 20:36     标题: 回复 6# 的帖子

if (!-e $request_filename)  有的,rewrite也有的,抱歉没说全

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

是一个镜像站

现在通过改程序可以了,news.php改掉后缀名,接收参数后再改回来




欢迎光临 VPS侦探论坛 (http://bbs.vpser.net/) Powered by Discuz! 6.0.0