专栏首页运维笔记Linux下nginx支持.htaccess文件实现伪静态的方法

Linux下nginx支持.htaccess文件实现伪静态的方法

在 Google 上搜索的资料很多人都说 nginx 目前不支持. htaccess 文件,我按照 nginx 的规则试验了一下,结果发现 nginx 是完全支持. htaccess 文件的!

方法如下:

1. 在需要使用. htaccess 文件的目录下新建一个. htaccess 文件, 如本人的一个 Discuz 论坛目录:

  vim /var/www/html/168pc/bbs/.htaccess

2. 在里面输入规则,我这里输入 Discuz 的伪静态规则:

# nginx rewrite rule
rewrite ^(.*)/archiver/((fid|tid)-[w-]+.html)$ $1/archiver/index.php?$2 last;
rewrite ^(.*)/forum-([0-9]+)-([0-9]+).html$ $1/forumdisplay.php?fid=$2&page=$3 last;
rewrite ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/viewthread.php?tid=$2&extra=page%3D$4&page=$3 last;
rewrite ^(.*)/profile-(username|uid)-(.+).html$ $1/viewpro.php?$2=$3 last;
rewrite ^(.*)/space-(username|uid)-(.+).html$ $1/space.php?$2=$3 last;
rewrite ^(.*)/tag-(.+).html$ $1/tag.php?name=$2 last;
# end nginx rewrite rule

wq 保存退出。

3. 修改 nginx 配置文件:

    vim /etc/nginx/nginx.conf

4. 在需要添加伪静态的虚拟主机的 server{} 中引入. htaccess 文件,如图所示:

include /var/www/html/168pc/bbs/.htaccess;(把这个改成你. htaccess 文件的具体位置) wq 保存退出。

5. 重新加载 nginx 配置文件:

 /etc/init.d/nginx reload

重新打开网页看看,如果伪静态正常就证明你的 rewrite rule 语法是正确的。

正常,完毕!

补充:偶在网上发现了个可以在线将 Apache Rewrite 伪静态规则自动转换为 Nginx Rewrite 网页。大家可以试试看。

http://www.anilcetin.com/convert-apache-htaccess-to-nginx/

此地址里面的内容包含可以完成上面说的略做修改的功能。就是把. htaccess 中的规则自动转换成 nginx 下面可用的规则。

总结:.htaccess 文件本来是 apache 专用的分布式配置文件,提供了针对每个目录改变配置的方法,即在一个特定的目录中放置一个包含指令的文件,其中的指令作用于此目录及其所有子目录。其实修改一下,nginx 也可使用. htaccess 文件实现多种功能。实现伪静态只是. htaccess 的其中一个用途,.htaccess 还可以做很多的用途,如过滤访问 IP,设置 web 目录访问权限、密码等。

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:https://www.pvcreate.com复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • Linux系统下Nginx支持ipv6配置的方法

    需要执行以下命令,查看现有nginx是否支持ipv6,如果参数中具有–with-ipv6,则支持,如 果没有,则不支持,需要重新编译nginx。

    砸漏
  • Nginx服务器下使用rewrite重写url以实现伪静态的示例

    这篇文章主要介绍了Nginx服务器下使用rewrite重写url以实现伪静态的示例,这里举了Discuz!和WordPress这两个常用的PHP程序,需要的朋友...

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

    1、原来的网站在wamp环境下搭建完成,一切正常,上传到虚拟主机环境为lnmp,结果访问时可以打开主页,然后点其他页面全部报404错误; 2、经分析得出原因...

    星哥玩云
  • WordPress固定链接伪静态设置图文教程

    在默认情况下,刚安装的WordPress的所有网页,都带“问号”的PHP动态链接,虽然搜索引擎不抵触动态页面,但是静态页面依然是现在网站的主流。

    聚优云惠
  • Linux下nginx生成日志自动切割的实现方法

    如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    砸漏
  • WordPress更改固定链接404的解决办法

    沈唁
  • Nginx/Apache之伪静态设置 - 运维小结

    一、什么是伪静态 伪静态即是网站本身是动态网页如.php、.asp、.aspx等格式动态网页有时这类动态网页还跟"?"加参数来读取数据库内不同资料,伪静态就是做...

    洗尽了浮华
  • Linux服务器下Nginx与Apache共存的实现方法分析

    本文实例讲述了Linux服务器下Nginx与Apache共存的实现方法。分享给大家供大家参考,具体如下:

    砸漏
  • 快速配置Apache的 伪静态 (转发)

    apache伪静态配置,需要网站根目录下有 .htaccess 文件,没有则需要自己创建一个,phpStudy V8能够自动生成这样一个文件,免去了繁琐的配置过...

    用户7138416
  • [教程]Typecho 如何开启伪静态?

    如果在保存上述配置的时候,typecho 无法自动配置,那么你可能需要手动配置服务器的 rewrite 规则。 nginx 配置. conf:

    CSTHenry
  • Linux实现301重定向和伪静态方法

    在网上查询了一下还没有人分享linux主机如何通过.htaccess文件同时实现301重定向和伪静态的,为帮助朋友少走弯路,特以把经验分享一下。

    砸漏
  • 利用.htaccess禁止某个IP访问网站

    大多数的站长们出于成本考虑,对于很多的小型网站不会单独购买服务器,而是使用虚拟主机。如果网站被别人恶意采集或CC攻击时,如果有服务器权限可以禁止 某个IP 段访...

    空木白博客
  • MVSO-简洁自动采集影视程序

    MVSO影视程序,精简UI,魔改超强SEO,程序对接360影视,和可以自己自定义苹果cms资源站接口,程序后端采用layuimini进行实现。

    空木白博客
  • 浅谈PHP各环境下的伪静态配置

    2、在apache的配置文件httpd.conf中查找 : LoadModule rewrite_module modules/mod_rewrite.so 将...

    砸漏
  • Destoon程序Apache和Nginx环境伪静态规则及使用方法

    目前国产B2B网站CMS程序中,比较好且使用较多的肯定是Destoon程序,之前老蒋也有使用过一段时间搭建行业的B2B网站的,但是由于精力、能力有限然后就关闭掉...

    老蒋
  • PHP使用redis缓存实现短网址功能【附源码】

    PHP使用redis缓存实现短链接功能,为什么不使用之前的mysql数据库了呢,redis的响应速度更快,环境部署更加方便。基于内存的操作,单线程多模式方式更加...

    申霖
  • ZBLOG静态设置方法 - 常用Apache和Nginx WEB环境伪静态

    无论我们是使用WordPress还是ZBLOG程序,基本上都会使用到伪静态,直接使用动态页面的并不多见。如果我们全部生成静态也不多,毕竟从ZBLOG 转型PHP...

    老蒋

扫码关注腾讯云开发者

领取腾讯云代金券