Centos下让nginx支持.htaccess文件实现伪静态的方法
发布网友
发布时间:2022-04-22 03:47
我来回答
共1个回答
热心网友
时间:2022-04-08 11:03
Centos下让nginx支持.htaccess文件实现伪静态的方法在Google上搜索的资料很多人都说nginx目前不支持.htaccess文件,我按照nginx的规则试验了一下,结果发现
nginx是完全支持.htaccess文件的!方法如下:1.
在需要使用.htaccess文件的目录下新建一个.htaccess文件,如我的一个Discuz论坛目录:vi
/var/www/html/bbs/.htaccess
www.dnjsb.com
2.
在里面输入规则,我这里输入Discuz的伪静态规则:#
nginx
rewrite
rulerewrite
^(.*)/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
rulewq保存退出。3.
修改nginx配置文件:
www.dnjsb.com
vi
/etc/nginx/nginx.conf4.
在需要添加伪静态的虚拟主机的server{}中引入.htaccess文件,include
/var/www/html/bbs/.htaccessinclude
/var/www/html/bbs/.htaccess;(把这个改成你.htaccess文件的具体位置)wq保存退出。5.
重新加载nginx配置文件:/etc/init.d/nginx
reload重新打开网页看看,如果伪静态正常就证明你的rewrite
rule语法是正确的。