wordpress mod_rewrite 重写URL

Module ngx_http_rewrite_module 官方介绍nginx语法

nginx documentation nginx官方文档

NGINX Wiki!

想把http://www.91hx.org/?p=123  替换成这样的形式 http://www.91hx.org/x188.html

查看Nginx配置文件 /www/wdlinux/nginx-1.8.1/conf/nginx.conf  

这里加载了/www/wdlinux/nginx-1.8.1/conf/vhost/*.conf 所有的.conf文件

00000.default.conf 文件里添加一下代码 这里的思路就是/?p=123 换成x123.html

 

  location / {
                    rewrite ^(.*)/x(\d+)\.html$ $1/?p=$2 last;
                }

nginx 伪静态规则:

rewrite 关键字

^伪静态规则开始

last 伪静态结束

(.*) 任何字符 域名

nginx rewrite规则

nginx的rewrite规则参考:

  1. ~ 为区分大小写匹配
  2. ~* 为不区分大小写匹配
  3. !~和!~*分别为区分大小写不匹配及不区分大小写不匹
  1. -f和!-f用来判断是否存在文件
  2. -d和!-d用来判断是否存在目录
  3. -e和!-e用来判断是否存在文件或目录
  4. -x和!-x用来判断文件是否可执行
  1. last 相当于Apache里的[L]标记,表示完成rewrite,呵呵这应该是最常用的
  2. break 终止匹配, 不再匹配后面的规则
  3. redirect 返回302临时重定向 地址栏会显示跳转后的地址
  4. permanent 返回301永久重定向 地址栏会显示跳转后的地址
  1. $args
  2. $content_length
  3. $content_type
  4. $document_root
  5. $document_uri
  6. $host
  7. $http_user_agent
  8. $http_cookie
  9. $limit_rate
  10. $request_body_file
  11. $request_method
  12. $remote_addr
  13. $remote_port
  14. $remote_user
  15. $request_filename
  16. $request_uri
  17. $query_string
  18. $scheme
  19. $server_protocol
  20. $server_addr
  21. $server_name
  22. $server_port
  23. $uri

 

nginx rewrite规则语法

nginx配置location总结及rewrite规则写法

Nginx重写规则指南

Nginx下WordPress的Rewrite规则

同理 分页伪静态 http://www.91hx.org/index.php?paged=2 想改成 http://www.91hx.org/p2.html

rewrite ^(.*)/p(\d+)\.html$ $1/index.php?paged=$2 last;

 

http://www.91hx.org/page/2
http://www.91hx.org/index.php?paged=2

 

使用固定链接

wordpress伪静态如何支持中文(目前不支持分类目录中文)

 

wordpress后台设置:

 

 

 

 

nginx配置文件里添加伪静态规则文件  添加:include /www/web/default/.htaccess

  

测试配置文件 cd /www/wdlinux/nginx-1.8.1/conf/nginx.conf

./nginx -t

重载nginx配置文件

./nginx -s reload

 


 

先查看是那种web服务器

 

 

ECS Linux 基于 nginx 环境通过 .htaccess 配置 rewrite 伪静态示例

apache 伪静态规则 参考 保存.htaccess文件

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

# END WordPress

 

 

nginx伪静态规则

#ignored: “-” thing used or unknown variable in regex/rew
rewrite ^/([_0-9a-zA-Z-]+/)?wp-admin$ /$1wp-admin/ permanent;
if (-f $request_filename){
	set $rule_2 1;
}
if (-d $request_filename){
	set $rule_2 1;
}
if ($rule_2 = "1"){
#ignored: “-” thing used or unknown variable in regex/rew
}
rewrite ^/([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) /$2 last;
rewrite ^/([_0-9a-zA-Z-]+/)?(.*.php)$ /$2 last;
rewrite /. /index.php last;

 

 

 

 

 

 


 

 XFTP4下查看.htaccess文件

工具-选项

 常规- 显示隐藏的文件 打钩

 

 

 

 如果是apche 需要开启mod_rewrite


 

参考

wordpress最新伪静态规则大全

WordPress 开启多站点(含Apache和Nginx伪静态规则)

WordPress的伪静态设置方法

实例讲解Nginx下的rewrite规则

使用固定連結

posted @ 2017-02-11 17:46  星耀学园  阅读(1323)  评论(0)    收藏  举报