问题原因:

  Apache支持伪静态规则在项目的入口目录有个.htaccess文件,Apache默认识别此文件内容,
  但是Nginx不识别.htaccess文件,导致伪静态规则失效,从而无法解析url地址,导致404错误。

解决办法:

 Convert apache htaccess rewrite rules to nginx rewrite rules

  打开网址 http://www.anilcetin.com/convert-apache-htaccess-to-nginx/

  将项目入口目录的.htaccess内容复制到左侧框中进行转换

  

  将转换的结果保存到nginx.htaccess,并在vhosts.conf中引入nginx.htaccess 如下图  

  重启nginx完成

  下面给出laravel的.htaccess转换后的nginx.htaccess:    

if (!-d $request_filename){
set $rule_0 1$rule_0;
}
if ($uri ~ "(.+)/$"){
set $rule_0 2$rule_0;
set $bref_1 $1;
}
if ($rule_0 = "21"){
rewrite ^/ /$bref_1 permanent;
}
if (!-d $request_filename){
set $rule_1 1$rule_1;
}
if (!-f $request_filename){
set $rule_1 2$rule_1;
}
if ($rule_1 = "21"){
rewrite ^/ /index.php last;
}
if ($http_authorization ~ "."){
set $rule_2 1$rule_2;
}
if ($rule_2 = "1"){
###setenv HTTP_AUTHORIZATION:$http_authorization;  ###该行注释掉不然nginx启动失败
#ignored: "-" thing used or unknown variable in regex/rew
}

Web环境从Apache转Nginx后页面报404错误的更多相关文章

  1. 在ubuntu上面安装phpmyadmin后,报404错误

    安装完mysql后,我想装一个phpmyadmin方便mysql管理. 在终端执行命令:sudo apt-get install libapache2-mod-auth-mysql phpmyadmi ...

  2. Tomcat启动后,访问页面报404错误解决方法

    Tomcat正常启动后,出现如下情况 提供一个参考解决方法: 1.双击servers 2.把Server Locations设置为User Tomcat installation 保存后再次访问页面就 ...

  3. myeclipse 右键 Add Struts... 页面报404 错误

    网上试了很多种方法都不对,结果老师两下点出来了 我的改正方法是: 将WebRoot/WEB-INF/web.xml中的 <url-pattern>/*</url-pattern> ...

  4. Vue项目build打包部署到Tomcat后,刷新报404错误解决方案

    问题描述: 一.更新依赖,并打包项目 cd /root/.jenkins/workspace/v-test;npm installcd /root/.jenkins/workspace/v-test; ...

  5. spring mvc 配置后,web中的html页面报404,该怎么处理

    问题描述: 在根目录webapp下的jsp页面可以通过url直接访问,而html页面就会报404错误. 解决方案1: 在spring-mvc.xml中添加如下配置: <!--将静态文件指定到某个 ...

  6. 【yii2从Apache迁移到nginx上访问报500错误】

    [yii2从Apache迁移到nginx上访问报500错误] 今天迁移yii2项目从Apache到nginx,出现了几个小问题,记录一下 index.php 加上 error_reporting(E_ ...

  7. vue项目发布后带路径打开页面报404问题

    环境: 后端,python+uwsgi启动 前端:vue  用nginx运行,指定静态目录 问题 :发布后带路径打开页面报404问题,带路径打开即不是打开的主页 解决方案: https://route ...

  8. 前端lvs访问多台nginx代理服务时出现404错误的处理

    前端lvs访问多台nginx代理服务时出现404错误的处理 环境描述:app --> lvs --> nginx --> server app访问页面购买流量页面(nginx服务器) ...

  9. IntelliJ IDEA 文件夹重命名--解决重命名后js文件引用找不到路径报404错误

    情景: 说明:ExtJS是我后来的改的名字--原来叫extjs,可是当我把在页面的引用地址改为 src="ExtJS/.."后页面就报404错误,我把它改回之前的extjs就可以( ...

随机推荐

  1. Exchange Onine 公用文件夹

    公用文件夹专为共享访问设计,为收集.组织信息及工作组织中的其他人共享信息提供提供了一种轻松.有效的方式.公用文件夹帮助以易于浏览的层次结构来组织内容. 一.公用文件夹的适用环境 公用文件夹在以下out ...

  2. layui从url中取值 ajax获取当前链接中的变量

    在使用layui(javascript)的时候,  需要从当前页面的url地址中取值, 例如: http://localhost:8081/html/fund-purchase.html?fundID ...

  3. 实战_3:新建产品配置(product)并导出项目

    产品配置Product 产品配置用于定义和管理RCP应用的多个方面特征.并支持将RCP项目导出为部署包(类似eclipse压缩包),可以直接部署到其他环境上使用. 产品配置必须新建一个 扩展名为 .p ...

  4. wsdl中含ref="s:schema"时处理

    转载地址:http://ljhzzyx.blog.163.com/blog/static/38380312201471375946602/

  5. [LC] 144. Binary Tree Preorder Traversal

    Given a binary tree, return the preorder traversal of its nodes' values. Example: Input: [1,null,2,3 ...

  6. 104)PHP,目录树状输出

    使用特定数量的缩进达到树状目的! 核心问题,计算需要缩进的数量! 缩进级别,与递归调用深度保持一致.每当执行一级递归操作,所找到的文件的缩进级别+; 语法实现: 增加一个参数,表示当前函数调用的深度级 ...

  7. Windows下的GUI 库

    Windows 下的 GUI 解决方案比较多: 基于 C++ 的有 Qt.MFC.WTL.wxWidgets.DirectUI.Htmlayout: 基于 C# 的有 WinForm.WPF: 基于 ...

  8. python学习笔记(9)函数(一)

    定义一个函数 你可以定义一个由自己想要功能的函数,以下是简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (). 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定 ...

  9. 同步linux系统时间

    Linux的时间分为System Clock(系统时间)和Real Time Clock (硬件时间,简称RTC). 系统时间:指当前Linux Kernel中的时间. 硬件时间:主板上有电池供电的时 ...

  10. spring学习笔记四:spring常用注解总结

    使用spring的注解,需要在配置文件中配置组件扫描器,用于在指定的包中扫描注解 <context:component-scan base-package="xxx.xxx.xxx.x ...