nginx加载伪静态文件.htaccess的办法

2019-01-16服务器
544

很多网站需要采用伪静态来访问动态网页。所以像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中引入这个文件,就可以由网站管理员随时添加修改伪静态规则了。
 
The End

相关推荐

Druid未授权访问漏洞怎么修复?
漏洞描述 Druid是阿里巴巴数据库出品的,为监控而生的数据库连接池,并且Druid提供的监控功能,监控SQL的执行时间、监控Web URI的请求、Session监控,首先Druid是不存在什么漏洞的。但当开发者配置不当时就可能造成未授权访问。 修复方案 修改中间件配置,给...
2025-07-29 服务器
105

docker占用空间怎么清理?
查看docker占用空间 docker system df 清理docker占用空间 # 删除未使用的镜像,不加-a就删除从未使用过的镜像 docker image prune -a # 删除未使用的docker volume docker volume prune # 删除每个未使用的容器、镜像、volumes和networks docker system prun...
2025-07-08 服务器
176

Nginx强制http跳转https访问的几种方法
Nginx让http的链接自动跳转到https的链接,其实方法还是蛮多的,下面介绍两种常用方法。 方法一 可以把所有的HTTP请求通过rewrite重写到HTTPS上 server{ listen 80; server_name XXXXX.com; //你的域名 //rewrite ^(.*)$ https://XXXXXX.com permanent; rewri...
2023-06-19 服务器
372

服务器CPU间歇性跑满达到100%如何处理
CPU就是服务器的核心所在,不论处理任何任务都需求CPU来完成,一旦CPU呈现爆满,那么咱们的服务器就会呈现卡顿乃至是死机无法连接等状况,那么假如咱们的服务器CPU间歇性跑满,该如何处理呢? 首先我们要观察服务器的运行状态,如果是突然性的跑满或者在某一...
2023-04-23 服务器
262

教你突破基于HTTP_REFERER的防盗链的方法
其实防盗链这个技术并不复杂,目前基本就是在服务器端判断HTTP_REFERER的位置,如果不是来自本站自身,则拒绝输出详细。 那么如果考虑突破防盗链的措施,就需要考虑在HTTPREFERER上面做手脚了。PHP 脚本中对应的变量是$SERVER[HTTPREFERER] ,它存储了 HTTPRE...
2022-12-13 服务器
267

Referer等错误码处理-爬虫反扒机制处理
HTTP来源地址(referer,或 HTTP referer)是HTTP表头的一个字段,用来表示从哪儿链接到目前的网页,采用的格式是URL。换句话说,借着HTTP来源地址,目前的网页可以检查访客从哪里而来,这也常被用来对付伪造的跨网站请求。网站里面常常会用到这个属性来对爬...
2022-12-12 服务器
322