nginx支持.htaccess文件实现伪静态

server {

  listen 80;

  server_name tsov.net www.tsov.net;

  root /www/web/www.tsov.net;

  include /www/web/www.tsov.net/.htaccess; //增加这句,注意路径。

 

 

很多网站需要采用伪静态来访问动态网页。所以像phpcms这样的系统,都提供了一个.htaccess文件,供写伪静态规则。但这个规则是针对Apache的。在nginx服务器上并不起作用。
nginx 可以直接将伪静态规则写在配置文件中,放在网站根目录下的.htaccess文件,
要让.htaccess在nginx下起作用,就是在nginx的相关网站配置中,引入这个伪静态规则文件就可以了。比如:
include /data/wwwroot/phpcms/.htaccess;

因为Apache下的伪静态规则,跟nginx下的并不一样。所以需要对原默认的规则写法进行修改。
如phpcms提供的原始.htaccess文件是这样的:

RewriteEngine on
RewriteRule ^content-([0-9]+)-([0-9]+)-([0-9]+).html index.php?m=content&c=index&a=show&catid=$1&id=$2&page=$3

在nginx下,要去掉第一行的RewriteEngine on。然后,RewriteRule要改成rewrite,后面则要加上分号结束。变成这样:

rewrite ^content-([0-9]+)-([0-9]+)-([0-9]+).html index.php?m=content&c=index&a=show&catid=$1&id=$2&page=$3 last;
总结,只要在nginx中引入这个文件,就可以由网站管理员随时添加修改伪静态规则了。

posted @   walkersss  阅读(1778)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· DeepSeek “源神”启动!「GitHub 热点速览」
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
历史上的今天:
2022-07-27 如何设置IIS程序池的回收时间,才能最大程度的减少对用户的影响?
点击右上角即可分享
微信分享提示