WP Rewrite url for nginx

http://efreedom.com/Question/1-3491258/Multi-Site-Wordpress-Rewrite-Rules-Nginx

 

server

{


    server_name 

*.

example

.

com

;

  
    listen 

80

;


    

#on server block


    

##necessary if using a multi-site plugin


    server_name_in_redirect off

;


    

##necessary if running Nginx behind a reverse-proxy


    port_in_redirect off

;


    access_log 

/

var

/

log

/

nginx

/

example

-

com

-

access

.

log

;



    location 

/

 

{


        root   

/

var

/

www

/

example

.

com

/

wordpress

;


        index  index

.

html index

.

htm index

.

php

;


        rewrite 

^.*/

files

/(.*)

$ 

/

wp

-

includes

/

ms

-

files

.

php

?

file

=

$1 

last

;


        

if

 

(!-

e $request_filename

)

 

{


            rewrite 

^.+/?(/

wp

-.*)

 $1 

last

;


            rewrite 

^.+/?(/.*\.

php

)

$ $1 

last

;


            rewrite 

^(.+)

$ 

/

index

.

php

?

q

=

$1 

last

;


        

}


    

}



    location 

~*

 

^.+\.(

html

|

jpg

|

jpeg

|

gif

|

png

|

ico

|

css

|

zip

|

tgz

|

gz

|

rar

|

bz2

|

doc

|

xls

|

exe

|

pdf

|

ppt

|

txt

|

tar

|

mid

|

midi

|

wav

|

bmp

|

rtf

|

js

)

$
    

{


        root 

/

var

/

www

/

example

.

com

/

wordpress

;


        rewrite 

^

/.*(/

wp

-.*/.*\.(

html

|

jpg

|

jpeg

|

gif

|

png

|

ico

|

css

|

zip

|

tgz

|

gz

|

rar

|

bz2

|

doc

|

xls

|

exe

|

pdf

|

ppt

|

txt

|

tar

|

mid

|

midi

|

wav

|

bmp

|

rtf

|

js

))

$ $1 

last

;


        rewrite 

^.*/

files

/(.*(

html

|

jpg

|

jpeg

|

gif

|

png

|

ico

|

css

|

zip

|

tgz

|

gz

|

rar

|

bz2

|

doc

|

xls

|

exe

|

pdf

|

ppt

|

txt

|

tar

|

mid

|

midi

|

wav

|

bmp

|

rtf

|

js

))

$

/

wp

-

includes

/

ms

-

files

.

php

?

file

=

$1 

last

;


        expires 

30d

;


        

break

;


    

}



    location 

~

 wp

\-.*\.

php

|

wp

\-

admin

|\.

php$ 

{


        include 

/

etc

/

nginx

/

fastcgi_params

;


        fastcgi_pass  

127.0

.

0.1

:

9000

;


        fastcgi_index index

.

php

;


        fastcgi_param  SCRIPT_FILENAME  

/

var

/

www

/

example

.

com

/

wordpress$fastcgi_script_name

;


    

}




}





http://www.yeeann.com/archives/104.html



How to:Nginx rewrite rules for WordPress Multi-Site

在WordPress 3.0中,如果你想启用Multi-Site的功能,是需要对WebServer做一些必要的rewrite rules设置的。如果你用的是Apache,只需要把安装WordPress时生成的rewrite rules复制到Apache的配置文件即可。如果是使用Nginx作为WebServer,可以参考下面的rewrite规则,经过某的测试基本没问题。

rewrite ^.*/files/(.*)$ /wp-includes/ms-files.php?file=$1 last; rewrite ^(.*)?(/wp-(content|admin|includes)/.*) $2 last; rewrite ^(.*)?(/wp-.*\.php)$ $2 last;

location / { index index.php; if (!-e $request_filename) { rewrite ^.+?(/wp-.*) $1 last; rewrite ^.+?(/.*\.php)$ $1 last; rewrite ^ /index.php last; } }

需要完善的地方有待改进...

标签:  Nginx

rewrite ^.*/files/(.*)$ /wp-includes/ms-files.php?file=$1 last; rewrite ^(.*)?(/wp-(content|admin|includes)/.*) $2 last; rewrite ^(.*)?(/wp-.*\.php)$ $2 last;

location / { index index.php; if (!-e $request_filename) { rewrite ^.+?(/wp-.*) $1 last; rewrite ^.+?(/.*\.php)$ $1 last; rewrite ^ /index.php last; } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值