2010-08-15 133 views
1

我的WordPress的3多用戶已啓用,但我不知道如何改寫以下的.htaccess規則nginx的:用nginx重寫Wordpress 3中多個子目錄的規則?

RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 

# uploaded files 
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L] 

# add a trailing slash to /wp-admin 
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] 

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] 
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L] 
RewriteRule . index.php [L] 

任何提示?

+0

查看wordpress-nginx教程 - http://rtcamp.com/wordpress-nginx/tutorials/。根據您的多站點配置,從該列表中選擇適合您的配置。 – rahul286 2012-09-29 17:41:19

回答

0

這些代碼將不會工作:(我已經做了一些改變他們,但仍處於wordpress3.0.1不行)

rewrite ^index\.php$ - last; 

    # uploaded files 
    rewrite ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 last; 

    # add a trailing slash to /wp-admin 
    rewrite ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ permanent; 

    if (-e $request_filename) { 
      rewrite^- last; 
      rewrite ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 last; 
      rewrite ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 last; 
      rewrite . index.php last; 
    } 

我已經嘗試過了

我建wordpress3.0.1在Apache2的VirtualBox的,剛剛找到的.htaccess文件如下圖所示:

RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 

RewriteCond %{REQUEST_FILENAME} !-f [OR] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php [L] 

所以nginx的重寫規則應該是那些:

location ~/{ 
    rewrite ^index\.php$ - last; 
    if(!-e $request_filename) { 
     rewrite . /index.php last; 
    } 
} 

這個工程!

+0

完美!謝謝! – Kirk 2010-08-22 21:39:28

+0

它昨天工作,但只是當我重新啓動nginx失敗。我正在修復它。 – HCOONa 2010-08-23 00:00:09

+0

我已經修復了它的nginx和wordpress 3.0.1 – HCOONa 2010-08-23 02:48:56