前言:
Nginx完全支持使用.htaccess文件实现伪静态的方法。在Google上搜索的资料中,很多人都说Nginx目前不支持.htaccess文件。然而,我按照Nginx的规则进行了实验,结果发现Nginx完全支持.htaccess文件的使用。
方法如下:
1. 在需要使用.htaccess文件的目录下新建一个.htaccess文件,比如一个Discuz论坛目录:代码如下:vim /var/www/html/xxx.com/bbs/.htaccess2. 在里面输入规则,我这里输入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 rule
wq保存退出。
3. 修改nginx配置文件:
vim /etc/nginx/nginx.con
4. 在需要添加伪静态的虚拟主机的server{}中引入.htaccess文件.
如下图:
请将以下内容添加到你的.htaccess文件中(将/var/www/html/xxx.com/bbs/.htaccess替换为你的.htaccess文件的具体位置)并保存退出。然后重新加载nginx配置文件(代码如下:/etc/init.d/nginx reload)。重新打开网页查看,如果伪静态正常,说明你的rewrite rule语法是正确的。
转载请注明:汇站网 » nginx下支持.htaccess文件实现伪静态的方法分享


常见问题
相关文章
猜你喜欢
- 禁止用户访问网站地图,但允许搜索引擎爬虫访问的代码 2023-09-22
- 如何利用HTML代码来优化SEO效果 2023-09-21
- 保障网站安全,采用HTTPS加密 2023-09-20
- 响应式/自适应网站在百度友好的优化方面发挥着重要作用 2023-09-20
- 宝塔迁移网站时出现错误:404,您所请求的文件不存在! 2023-09-15
- 使用PHP代码限制只允许国内IP地址访问网站 2023-09-15
- 宝塔面板(BT)安全:优化网站访问速度和简单实施CC防护措施 2023-09-14
- Web网站常见应用攻击类型与防御措施 2023-09-13
- 如何关闭Mysql打开的3306端口以防止系统遭到入侵 2023-09-13
- nginx下配置网站防盗链教程 2023-09-02