VPS侦探论坛

 找回密码
 注册
查看: 4297|回复: 6

nginx重定向,lnmp1.2可以1.4却不行

[复制链接]
发表于 2018-4-14 16:12:19 | 显示全部楼层 |阅读模式

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

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

No input file specified.
错误

1.2版本是可以的
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2018-4-14 19:50:56 | 显示全部楼层


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

你试试return的方式看?
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
发表于 2018-4-15 09:05:10 | 显示全部楼层

No input file specified. 肯定是你自己修改过网站目录,而没有同步修改 .user.ini 自行官网上搜索 防跨目录设置
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2018-4-16 11:18:40 | 显示全部楼层

回复 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这个参数发送过去
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2018-4-16 11:19:50 | 显示全部楼层

回复 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

军哥运维代购:http://shop63846532.taobao.com/

发表于 2018-4-16 17:11:08 | 显示全部楼层

回复 5# 的帖子


你自己规则上就是这么写的,要先判断文件的话 if (!-e $request_filename) 后在rewrite,不明白的话去查哪些已经写好的伪静态是怎么写的
 楼主| 发表于 2018-4-17 20:36:25 | 显示全部楼层

回复 6# 的帖子


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

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

是一个镜像站

现在通过改程序可以了,news.php改掉后缀名,接收参数后再改回来
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-11-19 01:54 , Processed in 0.038071 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表