nginx支持.htaccess伪静态rewrite的方法

   1. 在需要使用.htaccess文件的目录下新建一个.htaccess文件

  这个.htaccess文件一般discuz、dedecms等系统都自带

  # .htaccess 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 .htaccess rewrite rule

  2.然后修改nginx.conf,在需要添加伪静态的虚拟主机的server{}中引入.htaccess文件

  server{

  include xxxx/.htaccess; ##(把这个改成你.htaccess文件的具体位置)

  }

  重启nginx.conf即可。

时间: 2024-09-17 03:55:26

nginx支持.htaccess伪静态rewrite的方法的相关文章

nginx支持.htaccess文件实现伪静态的方法分享_nginx

在Google上搜索的资料很多人都说nginx目前不支持.htaccess文件,我按照nginx的规则试验了一下,结果发现nginx是完全支持.htaccess文件的! 方法如下: 1. 在需要使用.htaccess文件的目录下新建一个.htaccess文件, 如本人的一个Discuz论坛目录: 复制代码 代码如下: vim /var/www/html/168pc/bbs/.htaccess 2. 在里面输入规则,我这里输入Discuz的伪静态规则: 复制代码 代码如下: # nginx rew

Linux中开启Apache支持.htaccess伪静态文件步骤

第一.编辑httpd.conf文件 A - 在etc/httpd/conf/目录下的httpd.conf 文件,找到: LoadModule rewrite_module modules/mod_rewrite.so 如果前面有#就取消,如果没有就默认不要修改. B - 设置AllowOverride 同样的在httpd.conf  中找到下面的脚本 <Directory /> Options FollowSymLinks AllowOverride None </Directory&g

让Nginx支持shtml格式的配置方法_nginx

对于静态网站有公共头尾需要包含,又不想用动态网页编写的,那么shtml是最佳选择了.shtml可以包含指定文件到文档中如同PHP中的include功能类似. Nginx本身已经支持了shtml格式文件解析,但默认是不开启的,需要手动开启. 打开Nginx配置文件nginx.conf,在http里加入以下三句话. 复制代码 代码如下: # vi /usr/local/nginx/conf/nginx.conf 在http{}中添加如下代码即可: 复制代码 代码如下: ssi on; ssi_sil

APMServ 支持.htaccess伪静态

假如你的APMServ安装在X盘APMServ5.2.6目录的话请按以下步骤做.  X:\APMServ5.2.6\Apache\conf\httpd.conf  文件找到你所在的虚拟目录修改以下这个地方(如果你有配置虚拟主机的话应修改X:\APMServ5.2.6\Apache\conf\apmserv\vhost.conf  文件)我有配置多个虚拟主机所以我修改的文件是X:\APMServ5.2.6\Apache\conf\apmserv\vhost.conf 如果没有设置虚拟主机请如下设置

使Nginx服务器支持.htaccess的方法_nginx

可能很多朋友都常用nginx不支持.htaccess,只有apache才支持.htaccess文件,其实这是错误的看法nginx也是支持.hatccess的哦,下面我来给各位总结一下配置方法. 其实nginx和.htaccess一点关系都没有,只是一大堆人深受apache的影响觉得nginx应该也要支持.htaccess功能.在nginx的配置中直接include .htaccess文件就好 include /站点目录/.htaccess; 多么简单,但是更让人哭笑不得的是有大部分人根本就不知道

Apache支持.htaccess

今天在本地调试Discuz 6 .1 .0的时候,发现URL没法进行伪静态.我以为是.htaccess没设置对,反复修改还是不行.我突然想到,是不是我的apache本来就不支持.htaccess呢.于是我搜索起来. 有网站介绍说:打开httpd.conf文件用文本编辑器打开后,查找 <Directory /> Options FollowSymLinks AllowOverride None </Directory> 改为: <Directory /> Options

nginx 伪静态Rewrite正则资源汇总_nginx

本站一个服务器本来是windows 系统,采用ISAPI_Rewrite来进行Url重写,其中有一个规则是 RewriteRule ^/(.{6})(\d{3})(.+)/php/ http://www.xxx.com/qq$2.apk [NC,L,NU] 中间用到了{6}指前面的字符得复6次,然后平移动linux系统下面,采用nginx 的Rewrite来重写url 结果加载nginx的时候提示报错 复制代码 代码如下: rewrite ^/(.{6})(\d{3})(.+)/php/ htt

nginx不支持.htaccess解决办法

其实nginx和.htaccess一点关系都没有,只是一大堆人深受apache的影响觉得nginx应该也要支持.htaccess功能.在nginx的配置中直接include .htaccess文件就好 include /站点目录/.htaccess; 多么简单,但是更让人哭笑不得的是有大部分人根本就不知道nginx与apache是两个不同webserver程序,于是不少人这么干:在nginx里include .htaccess文件后,把apache伪静态规则的.htaccess上传到站点根目录下

伪静态的实现方法:IIS环境下配置Rewrite规则

URL 静态化可以提高搜索引擎抓取,开启本功能需要对 Web 服务器增加相应的 Rewrite 规则,且会轻微增加服务器负担.本教程讲解如何在 IIS 环境下配置各个产品的 Rewrite 规则.  URL 静态化可以提高搜索引擎抓取,开启本功能需要对 Web 服务器增加相应的 Rewrite 规则,且会轻微增加服务器负担.本教程讲解如何在 IIS 环境下配置各个产品的 Rewrite 规则.      下面以Discuz为例讲解IIS环境下配置Rewrite 规则,希望大家能举一反三. 一.首