讓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/((fidtid)-[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-(usernameuid)-(.+).html$ $1/viewpro.php?$2=$3 last; 
rewrite ^(.*)/space-(usernameuid)-(.+).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文件,如图所示圆圈位置: 
讓nginx支持.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目录访问权限、密码等。

更多相关文章
  • 


    		    Linux下nginx支持.htaccess文件實現僞靜態的方法!
    方法如下: 1. 在需要使用.htaccess文件的目录下新建一个.htaccess文件, 如本人的一个Discuz论坛目录: vim /var/www/html/168pc/bbs/.htaccess 2. 在里面输入规则,我这里输入Discuz的伪静态规则: # nginx rewrite ru
  • 用phpnow本地搭建Discuz!如何实现伪静态 因为phpnow本身就支持伪静态,那只要看下相关的设置是否正确,写个.htaccess的文件就可以了. 一.确认httpd.conf的设置 在xxx\Apache-22\conf路径下找到httpd.conf,查找“rewrite”,确保开启了re
  • URL 静态化是一个有利于搜索引擎的设置,通过 URL 静态化,达到原来是动态的 PHP 页面转换为静态化的 HTML 页面,可以提高搜索引擎抓取,提供内容页长尾关键词排名,今天iOS100知识库 主要介绍配置方法. 涉及位置:后台--全局--SEO设置--URL静态化 开启伪静态需要2步,后台设置
  • 最近在捣鼓DZ框架,这两天发现文章的收录情况并不是太理想,做了很多优化方面的工作,今天主要解决了DZ门户的文章链接伪静态化,在这次修改之前,也做过一次在网上找的静态化修改,之前做的方式是: 1.在DZ管理后台->全局->seo设置->url静态化模块中,开启如下配置 2.在ngin ...
  • 在ASP.NET中,有很多种实现伪静态的辦法,我们今天主要介绍通过IHttpModule这个接口的实现,来解决问题. 相对于整个应用程序来讲,如果我们需要在请求发生之时对请求的地址进行处理就需要用到IHttpModu
  • 大家一定经常在网络上看到很多网站的地址后缀都是用XX.HTML或者XX.ASPX等类似静态文件的标示来操作的吧,那么大家有怀疑过他真的是一个一个的静态生成的文件么,静态文件的生成的优缺有好有坏,对于访问量很大的网站,利用静态文件可提高服务器的运行稳定和速度,坏处就是生成列表的时候会因为增加一条记录从
  • aspnet_isapi.dll設置圖文介紹.net的程序實現僞靜態
    用URLRewriter控件 ①:首先要有这个文件URLRewriter.dll,如果没有
  • 先添加引用URLRewriter.dll到项目下的bin目录中,下载: http://files.cnblogs.com/tianguook/URLRewriter.rar 1.在web.config文件中  <co
一周排行
  • 


    		    淺談Linux下的EXT3文件系統
    [EXT3的基本介绍] 1.EXT3文件系统存储单位是"块",就好比N ...
  • 


    		    PIMDM 解讀
  • 默认的vim没有支持nesC语法高亮,给阅读源码带来不便.不过可以通过装NesC Syntax Highlighting插件来解决这个问题,具体操作如下:   步骤一:下载插件 在http://www.vim.org ...
  • 1.IE7无法访问TD 问题原因:兼容性问题 解决方法:步骤一.以系统管理员身份登陆TD: 步骤二.找到TD服务器中TDBIN目录(缺省情况下是C:\Inetpub\TDBIN目录),用编辑器打开start_a.ht ...
  • generatorConfig.xml- <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE generato ...
  • 目录 1. Math 对象 :数学对象,提供对数据的数学计算.如:获取绝对值.向上取整等.无构造函数,无法被初始化,只提供静态属性和方法. 2. Number 对象 :Js中提供数字的对象.包含整数.浮点数等等.并提
  • 进入CLI界面InfluxDB Shell (CLI) /opt/influxdb/influx    数据库 显示所有数据库 SHOW DATABASES 添加数据库 CREATE DATABASE mydb 删除 ...
  • 题意:要求相交的线段都要塞进同一个集合里       sol:并查集+判断线段相交即可.n很小所以n^2就可以水过 1 #include <iostream> 2 #include <cmath&g ...
  • 对于EMC DAE.DPE.SPE.SPS的解释: DAE: Disk Array Enclosure 单一的磁盘扩展单元 CX200/CX300/CX400/CX500CX600/CX700 DPE: Disk A ...
  • server { listen 80; server_name cy.com; index index.html index.htm index.php default.html default.htm defaul ...