0712-2888027 189-8648-0214
微信公众号

孝感风信网络科技有限公司微信公众号

当前位置: 主页 > 技术支持 > Linux > nginx不支持.htaccess解决办法

nginx不支持.htaccess解决办法

时间:2016-03-24来源:风信网 点击:

可能很多朋友都常用nginx不支持.htaccess,只有apache才支持.htaccess文件,其实这是错误的看法nginx也是支持.hatccess的哦,下面我来给各位总结一下配置方法。

其实nginx和.htaccess一点关系都没有,只是一大堆人深受apache的影响觉得nginx应该也要支持.htaccess功能。在nginx的配置中直接include .htaccess文件就好

include /站点目录/.htaccess;

多么简单,但是更让人哭笑不得的是有大部分人根本就不知道nginx与apache是两个不同webserver程序,于是不少人这么干:在 nginx里include .htaccess文件后,把apache伪静态规则的.htaccess上传到站点根目录下…无语。其实nginx可以include任何文件,而不仅 仅是.htaccess。

其实nginx这样引用.htaccess跟apache还是有区别的:

1、nginx是启动引入,因为nginx特别注重效率,所以启动的时候会把所有的配置文件读入内存,然后启动个。如果发现有语法错误,则启动失败。而apache则是动态引入,每次访问站点都会重新载入配置。

2、nginx中的include是手动添加,指定目录。apache已经把.htaccess作为它的一种特色机制,并且支持站所有子目录都可以有.htaccess文件。

根际实际开发经验,很多人在早期都是用虚拟空间的多,而早期的虚拟空间基本都是apache做webserver,所以用户不需要联系空间商就能自 己做伪静态,而开源程序更是方便的拓展这一功能(ecshop,wordpress,phpcms/' target='_blank'>phpcms等等)。并且维护也方便,只要覆盖.htaccess就 好。

其实,没有几个站点经常去修改.htaccess,并且现在基本使用vps居多。

nginx 也可使用 .htaccess 文件实现多种功能。

在 nginx/nginx.conf的server{}中引入 .htaccess 文件:
include /vhosts/quany.info/.htaccess;

nginx完全可以支持.htaccess文件,请按如下操作:

1、新建一个.htaccess文件,在里面输入规则,如本站的规则:

 代码如下
复制代码

# nginx rewrite rule
rewrite ^(.*?)/article/.*?-(d+)-(d+).html$   $1/show.html?id=$2&page=$3      break;
rewrite ^(.*?)/category/.*?-(d+)-(d+).html$  $1/list.html?id=$2&page=$3      break;
rewrite ^(.*?)/tag/([^/]+)/?$   $1/tag.html?w=$2        break;
rewrite ^(.*?)/tag/([^/]+)/(d+)$       $1/tag.html?w=$2&page=$3       break;
# end nginx rewrite rule

保存文件并上传到亚搏体育平台官方的根目录。

2、修改虚拟主机配置

 代码如下
复制代码
# ee /usr/local/etc/nginx/nginx.conf 

 #freebsd 7.2默认nginx默认安装的配置文件
在你需要添加伪静态的虚拟机中的server块中引入.htaccess文件

 代码如下
复制代码
include /usr/www/.htaccess 

 #请把这个改成你.htaccess文件的位置,
保存、退出重启nginx

 代码如下
复制代码
# /usr/local/etc/rc.d/nginx restart

刷新看看,如果能正常器从证明你的rewrite rule的语法是正确

nginx的rewrite规则您可以直接放在主机配置中也可以放在独立的文件用includeinru,存为独立的文件时,保存到一个新的文件 (文件名可以任意取,不过建议还是用.ht(注意有个“点”)开头的文件名,因为这个服务器里面默认过滤了外部对.ht开头的文件访问:

 代码如下
复制代码

location ~ /.ht {
    deny  all;
}

热门关键词:nginx.htaccess解决办法
栏目列表
推荐内容
  • php Make编译PEAR package PHP_Archive not in

    Generating phar.php Generating phar.phar PEAR package PHP_Archive not installed: ...

  • 在Linux下搭建Git服务器并进行配置连

    环境: 服务器 CentOS6.6 + git(version 1.7 . 1) 客户端 Windows10 + gi...

  • Linux系统数据盘初始化挂载操作指南

    风信建站新开发项目应用于Linux服务器,操作系统为CentOS Linux ...

  • Linux使用用户组来为用户赋予指定目

    1、 如果用户已经拥有了默认的用户组(通常组名与用户名相同...

  • nginx不支持.htaccess解决办法

    可能很多朋友都常用nginx不支持.htaccess,只有apache才支持.htacce...

  • 实战百度云服务器CDS磁盘无损数据盘

    最近风信建站服务的客户所使用的独立Linux服务器系统,因为客...

  • CentOS Linux系统下查找webshell后门的常

    检测webshell后门,一般我们通过判断文件修改的内容,时间、匹...

  • Nginx中基于User-Agent的Rewrite实例

    一般通过User-Agent来判断,从网上抄一抄,那些列出的都不错,我...

  • 热点内容
    展开