首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP网站从Apache转移到Nginx后产生404错误的原因和解决办法

,上传到虚拟主机环境为lnmp,结果访问时可以打开主页,然后点其他页面全部报404错误; 2、经分析得出原因:原网站环境为wamp使用了伪静态,伪静态规则写在网站根目录的.htaccess文件中,Apache...下默认识别此文件内容,而Nginx服务器不识别.htaccess文件,导致伪静态规则无效,自然无法解析url地址,导致404错误(文件不存在) 3、解决办法:因为Nginx服务器不识别.htaccess...rewrite/my.conf,将原来在.htaccess文件中的rewrite规则转换成nginx下的rewrite规则,提供一个自动转换网址 http://www.anilcetin.com/convert-apache-htaccess-to-nginx...-f  RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]   转换成Nginx后: if (!

1.5K10

Apache中 RewriteCond 规则参数介绍

预设形式:%{LA-U:variable} ,variable的最终值在执行一个内部(基于URL的)子请求后确定。 当需要使用一个目前未知但是会在之后的过程中设置的变量的时候,就可以使用这个方法。...G gone 强制URL为已废弃的 P proxy 强制使用代理转发。 L last 表明当前规则是最后一条规则,停止分析以后规则的重写。 N next 重新从第一条规则开始运行重写过程。...举例,使用它可以重写根路径的URL(’/’)为实际存在的URL, 比如, ‘/e/www/’. next|N (重新执行 next round) 重新执行重写操作(从第一个规则重新开始)....举例,使用它可以重写根路径的URL(’/’)为实际存在的URL, 比如, ‘/e/www/’. next|N (重新执行 next round) 重新执行重写操作(从第一个规则重新开始)....此外,rewrite规则中如果遇到中文,相当有可能会出现乱码问题,因为apache在rewrite时会做一次url解码,这时jk进行请求转发时,就不会再是编码后的字符串了。

4.7K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何在Debian 9上使用mod_rewrite为Apache重写URL

    选择其他版本: Ubuntu 18.04 介绍 Apache的mod_rewrite模块允许您以更干净的方式重写URL,将人类可读的路径转换为代码友好的查询字符串。它还允许您根据条件重写URL。...在下一步中,我们将创建示例网站文件,我们将使用它们来演示重写规则。 第3步 - 配置URL重写 在这里,我们将设置一个基本的URL重写,将漂亮的URL转换为实际的页面路径。...让我们创建我们的URL重写规则。...Apache重写规则通常用于将上述示例中的长而不愉快的链接简化为友好的URL,这些URL更易于在视觉上进行打字和解释。...该[QSA]标志在重写规则常用。它们告诉Apache将任何其他查询字符串附加到提供的URL,因此如果访问者输入http://example.com/shirt/summer?

    5K95

    如何在Ubuntu 14.04上使用Apache将www重定向到非www

    本教程将告诉你如何在WWW URL重定向到非www,例如,www.example.com以example.com在Ubuntu 14.04,与Apache。...我们还将向您展示如何从另一个方向重定向,从非www URL到www。 准备 一台已经设置好可以使用sudo命令的非root账号的Ubuntu服务器,并且已开启防火墙。...没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。 假设您已安装Apache。 您必须能够将记录添加到管理域的DNS中。...首先,使用以下命令启用mod_rewrite模块: sudo a2enmod rewrite 启用Rewrite模块后,我们可以使用.htaccess文件为Apache配置重定向规则。...我们现在添加我们的重写规则。 配置重写模块 如前所述,我们将使用.htaccess文件配置Rewrite模块。

    3.5K00

    Apache URL重定向

    一、URL重写介绍 Apached的重写功能,即是mod_rewrite模块功能,它是apache的一个模块。它的功能非常强大,可以操作URL中的所有部分。...比如说京东,google、亚马逊都在使用: 域名 重写后域名 www.z.cn www.amazon.cn www.g.cn www.google.com.cn www.360buy.com www.jd.com...举例,使用它可以重写根路径的URL(’/’)为实际存在的URL, 比如, ‘/e/www/’. next|N (重新执行 next round) 重新执行重写操作(从第一个规则重新开始)....它产生这样一个效果: 如果一个规则被匹配,通常会继续处理其后继规则, 即,这个标记不起作用;如果规则不能被匹配,则其后继的链接的规则会被忽略。...使用它可以从URL中剥离并记住一些信息。 cookie|CO=NAME:VAL:domain[:lifetime[:path]] (设置cookie) 它在客户端浏览器上设置一个cookie。

    5.5K20

    如何在Ubuntu 18.04上使用mod_rewrite for Apache重写URL

    介绍 Apache的mod_rewrite模块允许您以更干净的方式重写URL,将人类可读的路径转换为代码友好的查询字符串。它还允许您根据条件重写URL。...在下一步中,我们将创建示例网站文件,我们将使用它们来演示重写规则。 第3步 - 配置URL重写 在这里,我们将设置一个基本的URL重写,将漂亮的URL转换为实际的页面路径。...示例1 - 使用RewriteRule简化查询字符串 Web应用程序通常使用查询字符串,这些字符串在地址后使用问号(?)附加到URL 。使用&符号(&)分隔单独的参数。...Apache重写规则通常用于将如上所述的长而不愉快的链接简化为友好的URL,这些URL更易于在视觉上进行打字和解释。...该[QSA]标志在重写规则经常被用到。它们告诉Apache将任何其他查询字符串附加到提供的URL,因此如果访问者输入http://example.com/shirt/summer?

    4.4K11

    RewriteCond指令格式

    这个标记可以阻止当前已被重写的URL为其后继的规则所重写。...举例,使用它可以重写根路径的URL(’/’)为实际存在的URL, 比如, ‘/e/www/’. next|N (重新执行 next round) 重新执行重写操作(从第一个规则重新开始)....它产生这样一个效果: 如果一个规则被匹配,通常会继续处理其后继规则, 即,这个标记不起作用;如果规则不能被匹配,则其后继的链接的规则会被忽略。...使用它可以从URL中剥离并记住一些信息。 cookie|CO=NAME:VAL:domain[:lifetime[:path]] (设置cookie) 它在客户端浏览器上设置一个cookie。...此外,rewrite规则中如果遇到中文,相当有可能会出现乱码问题,因为apache在rewrite时会做一次url解码,这时jk进行请求转发时,就不会再是编码后的字符串了。

    2.5K10

    PHP扩展模块、Apache之rewrite模块

    用它可以把规范化的URL反馈给客户端,如, 重写“/~”为 “/u/”,或对/u/user加上斜杠,等等。 注意: 在使用这个标记时,必须确保该替换字段是一个有效的URL!...这个标记可以阻止当前已被重写的URL为其后继的规则所重写。 举例,使用它可以重写根路径的URL(‘/’)为实际存在的URL, 比如, ‘/e/www/’。...‘next|N’ (重新执行 next round) 重新执行重写操作(从第一个规则重新开始)。这时再次进行处理的URL已经不是原始的URL了,而是经最后一个重写规则处理的URL。...它产生这样一个效果: 如果一个规则被匹配,通常会继续处理其后继规则, 即,这个标记不起作用;如果规则不能被匹配, 则其后继的链接的规则会被忽略。...使用它可以从URL中剥离并记住一些信息。

    2.3K30

    如何在CentOS 7上使用Apache将www重定向到非www

    本教程将告诉你如何在WWW URL重定向到非www,例如,www.example.com以example.com在CentOS 7.我们也将告诉你如何在另一个方向重定向,从非www网址,与Apache...没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。 假设您已安装Apache(httpd)。 您必须能够将记录添加到管理域的DNS中。...接下来,添加另一个带有“www”作为主机名的A记录(如果部分子域不起作用,则添加“ www.example.com”),并指定相同的IP地址。...启用Apache重写模块 为了执行301重定向,我们将使用Apache mod_rewrite或Rewrite模块。这样做可以确保您的用户可以使用或不使用www访问您的网站。...我们现在添加我们的重写规则。 配置重写模块 如前所述,我们将使用.htaccess文件配置Rewrite模块。

    4.3K10

    CentOS 6.5上编译安装httpd-2.4和2.4版本特性介绍

    CentOS 6.5上编译安装httpd-2.4和2.4版本特性介绍 httpd-2.4的新特性: 1) MPM支持在运行时装载; --enalbe-mpm-shared=all --with-mpm=...编译启用ssl,rpm –qa|grep opensll要能查看到openssl-devel     --enable-cgi:  默认启用cgi模块     --enable-rewrite:  支持url...重写,服务器自动重写url以跳转到新位置     --with-pcre:  支持pcre,perl的正则表达库rpm –qa|grep pcre要能查看到pcre-devel     --with-zlib...]# ln -sv /usr/local/apache/include/ /usr/include/httpd2 12.添加man手册 [root@test2 apache]# vim /etc/man.config...在配置文件中添加man文件夹的位置 13.编译安装后的环境介绍 [root@test2 apache]# ls bin  build  cgi-bin  error  htdocs  icons

    58010

    Apache 中RewriteRule 规则参数

    [size=medium] Apache 中RewriteRule 规则参数 Apache模块 mod_rewrite 提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求。...它产生这样的效果:如果一个规则被匹配,则继续处理其后继规则,也就是这个标记不起作用;如果该规则不被匹配,则其后继规则将被跳过。...例如,使用它可以重写根路径的URL(’/’)为实际存在的URL(比如:‘/e/www/’)。 ‘next|N‘(从头再来) 重新执行重写操作(从第一个规则重新开始)。...比如,在mod_include试图搜索目录默认文件(index.xxx)时,Apache会在内部产生子请求。对于子请求,重写规则不一定有用,而且如果整个规则集都起作用,它甚至可能会引发错误。...(从URI转换到文件名的)Alias, ScriptAlias, Redirect等指令进行后续处理[原文:This flag is just a hack to enable post-processing

    3.5K20
    领券