让nginx支持.htaccess文件实现伪静态的方法!
搞了个VPS,装了个LNMP一键安装包,然后搞了个程序放上,想实现伪静态,但是lnmp的默认规则里没有河蟹男需要的伪静态文件,得自己配置, 以前只在.htaccess里搞下就行,现在换Linux下nginx不懂了,得配置conf文件,nginx目前不支持.htaccess文件,河蟹男 找了很多方法按照nginx的规则试验了一下,结果发现 nginx是完全支持.htaccess文件的!
方法如下(以下方法是按照Discuz论坛的伪静态文件整的,河蟹男只是举例,原理一样):
1. 在需要使用.htaccess文件的目录下新建一个.htaccess文件,
如一个Discuz论坛目录:
vim /home/wwwroot/www.hexienan.com/.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 /home/wwwroot/www.hexienan.com/.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目录访问权限、密码等。
让nginx支持.htaccess文件实现伪静态的方法!的更多相关文章
- Linux下nginx支持.htaccess文件实现伪静态的方法!
在Google上搜索的资料很多人都说nginx目前不支持.htaccess文件,我按照nginx的规则试验了一下,结果发现nginx是完全支持.htaccess文件的! 方法如下: 1. 在需要使用. ...
- nginx支持.htaccess文件实现伪静态的方法
方法如下: 1. 在需要使用.htaccess文件的目录下新建一个.htaccess文件, vim /var/www/html/.htaccess 2. 在里面输入规则,我这里输入Discuz的伪静态 ...
- 让apache支持htaccess文件
第一:检测 apache是否开启mod_rewrite 通过php提供的phpinfo()函数查看环境配置,在"apache2handler -> Loaded Modules&quo ...
- ajaxFileUpload.js插件支持多文件上传的方法
前提条件:ajaxFileUpload.js插件多文件上传步骤:1.修改源码,(源码只支持单个文件的上传):复制代码 代码如下: //修改前代码------- //var oldElement = j ...
- Windows下自由创建.htaccess文件的N种方法
.htaccess是apache的访问控制文件,apache中httpd.conf的选项配合此文件,完美实现了目录.站点的访问控 制,当然最多的还是rewrite功能,即URL重写,PHP中实现伪静态 ...
- Linux启动Apache支持.htaccess伪静态文件方法
第一.编辑httpd.conf文件 A - 在etc/httpd/conf/目录下的httpd.conf 文件,找到: LoadModule rewrite_module modules/mod_re ...
- nginx有关.htaccess小结
可能很多朋友都常用nginx不支持.htaccess,只有apache才支持.htaccess文件,其实这是错误的看法nginx也是支持.hatccess的哦. 其实nginx和.htaccess一点 ...
- PHP如何让apache支持.htaccess 解决Internal Server Error The server …错误
TP框架 打开 www.newtp.com/index.php/Home/Index/abc出现 如下错误: Internal Server Error The server encountered ...
- 如何让apache支持.htaccess 解决Internal Server Error The server …错误
如何让apache支持.htaccess 解决Internal Server Error The server …错误 文章来源:小灰博客| 时间:2013-12-25 12:17:08| 作者:Le ...
随机推荐
- C++笔记 3
1.数组是自动分配空间,指针要手工分配空间(int *p = new int;) 2.在Unix上,程序出现段错误的时候,系统会生成core 文件,会把出现错误的那一刻的程序镜像保存在此文件中 3.结 ...
- sql添加自动增长列
alter table a add num int identity
- ASPxGridView常用总结
目录:一.客户端常用1.常用API2.聚焦行变更事件3.客户端选择多行4.客户端选择行5. 获取选择的行数目6.单击行时,选中行7.通过checkbox 选择行8.选择所有行9.启动编辑框,Conta ...
- Error -27740: WSA_IO_pending
Error -27740: WSA_IO_pendingAction.c(198): Error -27791: Server **** has shut down the connection pr ...
- Python python的输入输出
#-*- coding:utf-8 -*- #屏蔽中文乱码方案一(官方推荐) #这个语句必须顶行写 #屏蔽中文乱码方案二(不建议使用) '''#coding=utf-8 ''' #input(),输入 ...
- glob 遍历函数
例子 1 <?php print_r(glob("*.txt")); ?> 输出类似: Array ( [0] => target.txt [1] => s ...
- 关于Cocos2d-x中掉帧导致游戏一卡一卡的网上一些的解决方法
方法1 掉帧主要是setpostion引起的 因为每一帧每一个精灵都要set一次虽然不知道为什么会这样但是if(poX<1000&&pox>-100){ xx-& ...
- 第二百九十一节,RabbitMQ多设备消息队列-安装与简介
RabbitMQ多设备消息队列-安装与简介 RabbitMQ简介 解释RabbitMQ,就不得不提到AMQP(Advanced Message Queuing Protocol)协议. AMQP协议是 ...
- 在 C++ 程序中只使用 const 常量而不使用宏常量
在 C++ 程序中只使用 const 常量而不使用宏常量,即 const 常量完 全取代宏常量. #include <iostream> /* run this program using ...
- 多媒体开发之h264中的sps---sps信息提取之分辨率宽高提取2
-------------------author:pkf -----------------------------time:2015-8-20 -------------------------- ...