开发者社区> 问答> 正文

如何通过Nginx的.htaccess配置rewrite伪静态例子

给Nginx的.htaccess配置rewrite伪静态规则,希望能给个示例参考一下。

展开
收起
开发者说 2019-07-15 15:51:18 707 0
1 条回答
写回答
取消 提交回答
  • 1. 在站点根目录创建 .htaccess 文件,权限为 644。参考命令:

       vim /www/bbs/.htaccess

    2. vim 初始状态下,按 “I” 键进行编辑状态,输入伪静态规则,示例:

    1. # nginx rewrite rule
    2. rewrite ^(.*)/archiver/((fid|tid)-[w-]+.html)$ $1/archiver/index.php?$2 last;
    3. rewrite ^(.*)/forum-([0-9]+)-([0-9]+).html$ $1/forumdisplay.php?fid=$2&page=$3 last;
    4. rewrite ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/viewthread.php?tid=$2&extra=page%3D$4&page=$3 last;
    5. rewrite ^(.*)/profile-(username|uid)-(.+).html$ $1/viewpro.php?$2=$3 last;
    6. rewrite ^(.*)/space-(username|uid)-(.+).html$ $1/space.php?$2=$3 last;
    7. rewrite ^(.*)/tag-(.+).html$ $1/tag.php?name=$2 last;
    8. # end nginx rewrite rule

    编辑完毕,按下 ESC 键,输入 :wq 保存退出。

    3.  修改 nginx 配置文件,示例:

    vim /etc/nginx/nginx.conf (注:请根据自己ECS服务器实际路径修改)

    4.  在需要添加伪静态的虚拟主机的 server{} 中引入 .htaccess文件,示例:

     

    include /www/bbs/.htaccess;

    编辑完毕,按下 ESC 键,输入 :wq 保存退出。

    5.  重新加载 nginx 配置文件:

    /etc/init.d/nginx -s reload

    6. 重新访问站点测试,如果伪静态正常调整,证明 rewrite rule 语法生效。


    2019-07-22 11:27:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《Nginx 代理系统常用手册》 立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载