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目录访问权限、密码等。
相关文章:

查看mysql的编码格式
1.查看数据库编码格式 show variables like character_set_database; 2.查看数据表的编码格式 show create table <表名>; 3.创建数据库时指定数据库的字符集 create database <数据库名> character set utf8; 4.创建数据表时指定数据表的编码格式 create table tb…

undefined reference to `libiconv_open 无法编译PHP libiconv
原文:http://hi.baidu.com/ostech/blog/item/a63f9b0dabed1ae7ab6457d0.html./configure --with-mysql/backup/mysql --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-curl --with-gd --enable-gd-native-ttf --with-apxs2/usr/local/apach…

Meta 被爆暂停 AR/VR 操作系统项目,元宇宙能否推进?
编译 | 禾木木 出品 | AI科技大本营(ID:rgznai100) 据 The Information 的近日报道,Meta 已经停止了一直以来为 AR 和 VR 操作系统的努力。在11月就通知了负责 VR 和 AR 设备的实验室的员工,表示将要停止 XROS 相关的开发工作。 …

DevOps:怎么实现源代码注释和系统文档的自动化更新?
【编者按】计算机软件传统定义为:软件是计算机系统中与硬件相依存的另一部分,软件包括程序、数据及其相关文档的完整集合。然而在时下的开发中,文档的合规性往往被忽视的干干净净。本文由 Todd Waits 撰写,讲述应用程序文档化所遭…

在Kubernetes v1.8中使用RBAC
Kubernetes 1.8一个重要里程碑是推出了基于角色的访问控制(RBAC)授权,在这个版本中被提升为GA。RBAC是一种控制访问Kubernetes API的机制,因为在1.6中推出beta版,许多Kubernetes集群和配置策略在默认情况下都启用了它。展望未来,我…

Java String.substring内存泄露?
2019独角兽企业重金招聘Python工程师标准>>> String可以说是最常用的Java类型之一了,但是最近听说JDK6里面String.substring存在内存泄露的bug,伙惊呆!一起来看看到底是啥情况吧。 这个是可以导致Exception in thread "main&…

第二弹,坐地铁就能学会的3种「非常有趣」的 Python 玩法
作者 | 黄伟呢来源 | 数据分析与统计学之美本文说明为什么要学习python?是因为不仅很多工作需要用到python,同时我们可以利用python做很多好玩儿的事儿。比如说下面的3种用法:1.利用python给小猪佩奇换背景色;2.利用python将小猪佩…

php比较长的configure
原先的字串./configure --prefix/usr/local/php --with-apxs2/usr/local/apache2/bin/apxs --enable-zip --enable-calendar --with-mysql/usr/local/mysql --with-pdo-mysql/usr/local/mysql --with-iconv/usr/local/libiconv --with-curl/usr/local/curl --with-gd/usr/local…

用mpvue实现的微信小程序版cnode社区
五一放假,没出去玩,想熟悉下vue的开发流程,又想体验下mpvue,于是写了个练手项目。一个用mpvue实现的cnode微信小程序版。 代码在仓库。欢迎各位star、fork、issue、pr。目前已经完成了百分之80的功能。个人感觉这个项目还是非常适…

PHP编译安装
#wget http://museum.php.net/php5/php-5.2.6.tar.gz (下载php源码) http://cn.php.net/releases/ 可以找到 #tar zxvf php-5.2.6.tar.gz #cd php-5.2.6 #./configure --prefix/usr/local/php --with-mysql/usr/local/mysql --with-apxs2/usr/local/apa…

Python 办公自动化,一键给PDF文件加密,超方便
作者 | 欣一来源 | Python爱好者集中营今天给大家做一个给PDF文件加密的GUI界面(图形用户界面),方便现在的一些上班族白领们使用,尤其是需要给一些比较重要的PDF文件加密的时候,下面我们来看具体的步骤给PDF文件加密首先我们需要清楚的是如何…

YUM安装多个(多实例) Mysql
2019独角兽企业重金招聘Python工程师标准>>> 这里使用的是MYSQL的percona分支 先安装repo包 yum install percona-release-0.0-1.x86_64.rpm -y 想安装5.6的把5.5替换就行了,5.6的太耗内存了-。- yum install Percona-Server-server-55.x86_64 Percona-Server-clien…

scala可变长度参数函数
2019独角兽企业重金招聘Python工程师标准>>> scala可变长度参数函数只需要在参数列表的最后放一个星号,实验如下: def main (args:Array[String]){argsfun("Runoob", "Scala", "Python")} def argsfun(args:St…

3000 字推荐一个可视化神器,50 行 Python 代码制作数据大屏
作者 | 俊欣来源 | 关于数据分析与可视化今天小编给大家分享一个制作数据大屏的工具,非常的好用,100行左右的Python代码就可以制作出来一个完整的数据大屏,并且代码的逻辑非常容易理解。PywebIO介绍Python当中的PywebIO模块可以帮助开发者在不…

使用Varnish+ESI实现静态页面的局部缓存
页面静态化是搭建高性能网站必用的招式之一,页面静态化可以有效提升系统响应速度,同时也有利于搜索引擎优化。但在页面静态化后,静态页面之间包含(例如所有的静态页面包含页头、页脚)以及静态页面中的局部信息的动态更…

The Apply method of function object
2019独角兽企业重金招聘Python工程师标准>>> http://webreference.com As explained in the previous page, JavaScript 1.3 includes two new methods for the Function object, call() andapply(). The apply() method is a variation on the call() method. The …

资源 | 100+个自然语言处理数据集大放送,再不愁找不到数据!
奉上100多个按字母顺序排列的开源自然语言处理文本数据集列表(原始未结构化的文本数据),快去按图索骥下载数据自己研究吧! 数据集 Apache软件基金会公开邮件档案:截止到2011年7月11日全部公开可用的Apache软件基金会邮…

Java中ArrayList源码分析
一、简介 ArrayList是一个数组队列,相当于动态数组。每个ArrayList实例都有自己的容量,该容量至少和所存储数据的个数一样大小,在每次添加数据时,它会使用ensureCapacity()保证容量能容纳所有数据。 1.1、ArrayList 的继承与实现接…

介绍三种绘制时间线图的方法
作者 |周萝卜来源 |萝卜大杂烩今天我们再来分享几种不同的制作方法,大家可以自行比较下各种方法的优劣。Matplotlib 制作Matplotlib 作为 Python 家族最为重要的可视化工具,其基本的 API 以及绘制流程还是需要掌握的。尤其是该库的灵活程度以及作为众多工…

phpize是什么
安装php(fastcgi模式)的时候,常常有这样一句命令:/usr/local/webserver/php/bin/phpize 一、phpize是干嘛的? phpize是什么东西呢?php官方的说明: http://php.net/manual/en/install.pecl.phpiz…

C语言比较好的风格梳理
errno int err;tb malloc(sizeof(struct xtracer_table));if (!tb) {err errno;fprintf(stderr, "%s:%d, errno:%d, %s\n",__func__, __LINE__, err, strerror(err));return NULL;} 转载于:https://www.cnblogs.com/muahao/p/8979144.html

Linux下Memcache服务器端的安装
Linux下Memcache服务器端的安装服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-1.3.0 。下载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz http://memcached.googlecode.com/files/memcached-1.4.9.tar.gz 另外&#…

如何用技术恢复模糊的图像?在线教学…
作者 |小白 来源 |小白学视觉 有人认为恢复模糊的图像是不可能的,因为会丢失信息。但我对这个问题进行了很多思考,并认为如果输出图像的大小与输入图像的大小相同,那实际上是可能的!这样,输出就有足够的像素/信息来恢复…

数据库创建索引的原则
数据库建立索引的原则 铁律一:天下没有免费的午餐,使用索引是需要付出代价的 索引的优点有目共睹,但是,却很少有人关心过采用索引所需要付出的成本。若数据库管理员能够对索引所需要付出的代价有一个充分的认识,也就不…

Linux上实现ssh免密码登陆远程服务器
平常使用ssh登陆远程服务器时,都需要使用输入密码,希望可以实现通过密钥登陆而免除输入密码,从而可以为以后实现批量自动部署主机做好准备。 环境如下: IP地址操作系统服务器端10.0.0.10CentOS 6.5 x86客户端10.0.0.61CentOS 6.5 …

分享memcache和memcached安装过程
Memcache是什么? Memcache是一个自由和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。 它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一…

导入导出Android手机文件
1、获得root权限:adb root; 如提示adbd cannot run as root in production builds,参见我的另一篇文章:http://www.cnblogs.com/hdk1993/p/4770388.html 2、设置/system为可读写:adb remount; 3、将文件复制…

GPT-3 不够 Open,BigScience 构建开放语言模型,规模小 16 倍
编译 | 禾木木 出品 | AI科技大本营(ID:rgznai100) 大约一年前,总部位于纽约布鲁克林的自然语言处理初创公司 Hugging Face 推出了 BigScience。这是一个拥有 900 多名研究人员的国际项目,旨在更好地理解自然语言模型原理和提高大…

华为云微服务引擎CSE大量新特性上线,诚邀您免费体验
1、提供GO语言微服务开发框架SDK 支持插件化注册中心、多RPC协议(已默认实现http和highway,可扩展) 提供熔断降级、容错、路由管理、限流、错误注入、灰度发布等治理能力 2、提供Service Mesh商业版 支持.NET、Node.js、PHP等多语言应用…

memcache和memcached安装
首先要明确 memcache不是memcached第一步安装libevent #wget https://github.com/downloads/libevent/libevent/libevent-2.0.15-stable.tar.gz #tar libevent-2.0.15-stable.tar.gz #tar xzvf libevent-2.0.15-stable.tar.gz #cd libevent-2.0.15-stable #./configure --h…