WordPress在nginx下的URL重写规则详解

配置代码

 代码如下 复制代码

server {
listen       80;
server_name  www.111cn.net 111cn.net;
access_log  /data/logs/nginx/www.111cn.net.access.log  main;

index index.html index.php;
root /data/site/www.111cn.net;
location / {
try_files $uri $uri/ /index.php?$args;
add_header Pragma "public";
expires 12h;
}

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
       access_log off;
   log_not_found off;
   expires max;
}

location ~ \.php$ {
try_files $uri =404;

fastcgi_split_path_info ^(.+\.php)(/.+)$;
#NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

include fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#       fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 24h;
access_log off;
}

location ~ .*\.(js|css)$
{
expires 24h;
access_log off;
}
 

重启你的nginx即可

固定链接(URL重写)在nginx的规则

只是用于WordPress单站点(一般默认安装的),不是多站点哦。将以下代码插入location的root中

 代码如下 复制代码
if (!-f $request_filename){
set $rule_1 1$rule_1;
}
if (!-d $request_filename){
set $rule_1 2$rule_1;
}
if ($rule_1 = "21"){
rewrite /. /index.php last;
}

我的WordPress在nginx配置情况:

 代码如下 复制代码

location / {
    root   html/xiedexu.cn;
    index  index.php index.html index.htm;
if (!-f $request_filename){
set $rule_1 1$rule_1;
}
if (!-d $request_filename){
set $rule_1 2$rule_1;
}
if ($rule_1 = "21"){
rewrite /. /index.php last;
}
add_header Cache-Control private;
   
}

现在在新版本的已有不妥,会有两个规则警告提示。博友@五月里徜徉的小猫咪 说是nginx的if陷阱,分享了一个新的配置方案。方案比较全,不过如果你的conf不是那样配置的,只需要在location中插入:

try_files $uri $uri/ /index.php?$args;

发下自用的WordPress Nginx重定向规则,适合非子目录安装:

 代码如下 复制代码

location / {
    try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

AMH自带的为:

 代码如下 复制代码

location / {
    if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
    }
    if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
    }
    if (!-f $request_filename){
rewrite (.*) /index.php;
    }
}

简单使用方法:AMH使用AMRewrite插件新建一条Rewrite规则,校验规则,然后编辑虚拟主机,选择新建的规则。
直接改nginx.conf了解的自然了解,不熟悉的随便就瘫了。

时间: 2024-07-30 19:01:31

WordPress在nginx下的URL重写规则详解的相关文章

nginx下gzip配置参数详解_nginx

Nginx自带的有gzip模块 http://wiki.nginx.org/NginxChsHttpGzipModule ,这个模块支持在线实时压缩输出数据流.经过良好的配置优化,可以大幅的提升网站的输出效率. __使用范例__ 复制代码 代码如下: gzip on; gzip_min_length 1000; gzip_proxied expired no-cache no-store private auth; gzip_types text/plain application/xml; 内

Nginx下Symfony2配置教程详解

1,首先开启Nginx的pathinfo 如果你的主机上安装了AMH,那么恭喜你,配置就容易了.先安装"AMPathinfo"模块,然后在这个模块的列表上,开启你网站的pathinfo     如果你的主机上没有安装AMH,也不用着急,开启pathinfo,其实就是添加了两行配置代码 fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; 不知道怎么添加吗?别急,下面会告诉

CentOS6.5下Tomcat7 Nginx Redis配置步骤教程详解_Linux

所有配置均在一台机器上完成,部署拓扑信息如下: 注意:由于Redis配置对jar包和tomcat版本比较严格,请务必使用tomcat7和本文中提供的jar包. 下载地址: http://pan.baidu.com/s/1bO67Ky tomcat: tomcat1 localhost:8080 tomcat2 localhost:9080 nginx: localhost:1210 redis: localhost:6379 1. tomcat的安装和配置 1. 在server.xml文件中,修

wordpress在nginx下的rewrite规则写法

wordpress在nginx下的rewrite规则写法: [root@localhost ~]# cat /etc/nginx/wprw.conf  代码如下 复制代码 rewrite ^.*/files/(.*)$ /wp-includes/ms-files.php?file=$1 last; if (!-e $request_filename) { rewrite ^.+?(/wp-.*) $1 last; rewrite ^.+?(/.*.php)$ $1 last; rewrite ^

Linux 下 Make 命令实例详解

  Linux 下 Make 命令实例详解          Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题.本文我们将用一些实例来讨论 make 命令背后的工作机制. Make 如何工作的 对于不知道背后机理的人来说,make 命令像命令行参数一样接收目标.这些目标通常存放在以 "Makefile" 来命名的特殊文件中,同时文件也包含与目标相对应的操作.更多信息,阅读关

CentOS下badblocks指令的详解

  CentOS下badblocks指令的详解            一.命令参数 badblocks使用格式为: 引用 badblocks [ -svwnf ] [ -b block-size ] [ -c blocks_at_once ] [ -i input_file ] [ -o output_file ] [ -p num_passes ] [ -t test_pattern ] device [ last-block ] [ start-block ] 参数含义是: 引用 -b bl

Linux下DNS服务器搭建详解

Linux下DNS服务器搭建详解 简介: DNS服务器的作用就是就好比生活中的电话簿.114查号台一样,为各种网络程序找到对应目标主机的IP地址或对应的主机域名. DNS系统的作用: 正向解析:根据主机名称(域名)查找对应的IP地址(实际应用中最多的) 反向解析:根据IP地址查找对应的主机域名(不常用,一般用于搭建邮件服务器时.) 根据服务器与所提供域名解析记录的关系,将DNS服务器分为不同的角色: 缓存域名服务器 也称为 唯高速缓存服务器 通过向其他域名服务器查询获得域名->IP地址记录 将域

mysql 5.7 zip 文件在 windows下的安装教程详解_Mysql

1.下载mysql最新版本. http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.15-winx64.zip 2.解压到文件夹. D:\software\mysql\mysql5.7a 将my-default.ini 复制为 my.ini 3.编辑my.ini # These are commonly set, remove the # and set as required. basedir ="D:/software/mysql/mysql

linux 下的yum命令详解_Linux

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [package ...] 其中的[opt