Nginx重定向[Rewrite]配置 for wordpress & Discuz
2013-09-04 13:42
459 查看
首先Apache的Rewite规则差别不是很大,但是Nginx的Rewrite规则比Apache的简单灵活多了
Nginx可以用if进行条件匹配,语法规则类似C
if ($http_user_agent ~ MSIE) {
rewrite ^(.*)$ /msie/$1 break;
}
Rewrite的Flags
last - 基本上都用这个Flag。
break - 中止Rewirte,不在继续匹配
redirect - 返回临时重定向的HTTP状态302
permanent - 返回永久重定向的HTTP状态301
Wordpress的重定向规则:
if (!-e $request_filename) {
rewrite ^/(index|atom|rsd)\.xml$
http://feed.shunz.net
last;
rewrite ^([_0-9a-zA-Z-]+)?(/wp-.*) $2 last;
rewrite ^([_0-9a-zA-Z-]+)?(/.*\.php)$ $2 last;
rewrite ^ /index.php last;
}
以下为Discuz完整的Rewrite for Nginx规则
if (!-f $request_filename) {
rewrite ^/archiver/((fid|tid)-[\w\-]+\.html)$ /archiver/index.php?$1 last;
rewrite ^/forum-([0-9]+)-([0-9]+)\.html$ /forumdisplay.php?fid=$1&page=$2 last;
rewrite ^/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /viewthread.php?tid=$1&extra=page%3D$3&page=$2 last;
rewrite ^/space-(username|uid)-(.+)\.html$ /space.php?$1=$2 last;rewrite ^/tag-(.+)\.html$ /tag.php?name=$1 last;
}
正则正则表达式匹配注解
~ 为区分大小写匹配
~* 为不区分大小写匹配
!~和!~*分别为区分大小写不匹配及不区分大小写不匹配
2、文件及目录匹配,其中:
-f和!-f用来判断是否存在文件
-d和!-d用来判断是否存在目录
-e和!-e用来判断是否存在文件或目录
-x和!-x用来判断文件是否可执行
Nginx可以用if进行条件匹配,语法规则类似C
if ($http_user_agent ~ MSIE) {
rewrite ^(.*)$ /msie/$1 break;
}
Rewrite的Flags
last - 基本上都用这个Flag。
break - 中止Rewirte,不在继续匹配
redirect - 返回临时重定向的HTTP状态302
permanent - 返回永久重定向的HTTP状态301
Wordpress的重定向规则:
if (!-e $request_filename) {
rewrite ^/(index|atom|rsd)\.xml$
http://feed.shunz.net
last;
rewrite ^([_0-9a-zA-Z-]+)?(/wp-.*) $2 last;
rewrite ^([_0-9a-zA-Z-]+)?(/.*\.php)$ $2 last;
rewrite ^ /index.php last;
}
以下为Discuz完整的Rewrite for Nginx规则
if (!-f $request_filename) {
rewrite ^/archiver/((fid|tid)-[\w\-]+\.html)$ /archiver/index.php?$1 last;
rewrite ^/forum-([0-9]+)-([0-9]+)\.html$ /forumdisplay.php?fid=$1&page=$2 last;
rewrite ^/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /viewthread.php?tid=$1&extra=page%3D$3&page=$2 last;
rewrite ^/space-(username|uid)-(.+)\.html$ /space.php?$1=$2 last;rewrite ^/tag-(.+)\.html$ /tag.php?name=$1 last;
}
正则正则表达式匹配注解
~ 为区分大小写匹配
~* 为不区分大小写匹配
!~和!~*分别为区分大小写不匹配及不区分大小写不匹配
2、文件及目录匹配,其中:
-f和!-f用来判断是否存在文件
-d和!-d用来判断是否存在目录
-e和!-e用来判断是否存在文件或目录
-x和!-x用来判断文件是否可执行
相关文章推荐
- wordpress 用 nginx做服务器时,mode_rewrite(固定连接)的配置
- PhpCms,ShopEx,EcShop,WordPress,PhpWind,Discuz在Nginx下的rewrite规则
- 配置nginx与wordpress碰到的一个偱环重定向问题
- Nginx常用伪静态规则(rewrite)-Discuz X3.2-WordPress-PHPCMS-ECSHOP-SHOPE(转)
- nginx配置ThinkPHP Rewrite
- WordPress与Drupal的Nginx配置rewrite重写规则示例
- 为wordpress配置apache url重定向/apache url rewrite for wordpress
- Nginx重定向[Rewrite]配置及示例
- 服务器 配置SSL for nginx && springboot(jetty)
- Nginx重定向[Rewrite]配置
- 【ubuntu】 nginx配置php&wordpress
- nginx下wordpress路径、伪静态配置
- nginx配置location总结及rewrite规则写法
- nginx 配置web 虚拟文件夹 而且codeIgniter,thinkphp 重定向url 地址
- Nginx服务器中的重定向配置参考指南
- nginx安装,配置、虚拟主机、轮询、域名重定向
- Nginx下codeigniter的rewrite规则配置
- nginx配置中rewrite中变量判断conditon
- Nginx 常用配置总结(root , alias,rewrite , proxy_pass ,if和内置变量,upstream 的使用)
- nginx 的配置特殊用法(rewrite规则)