【问题标题】:Rewrite Rules for Subdirectories in Wordpress 3 Multiuser with nginx?使用 nginx 重写 Wordpress 3 Multiuser 中的子目录规则?
【发布时间】:2010-08-23 10:47:10
【问题描述】:

我的 Wordpress 3 多用户已经启用,但是我不知道如何为 nginx 重写以下 .htaccess 规则:

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]

有什么提示吗?

【问题讨论】:

标签: wordpress nginx multi-user


【解决方案1】:

这些代码不起作用:(我对它们做了一些更改,但在 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;
    }

我试过了

我用apache2在virtualbox中构建了wordpress3.0.1,刚刚找到.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;
    }
}

这行得通!

【讨论】:

  • 昨天确实有效,但在我重新启动 nginx 时失败了。我正在尝试修复它。
  • 我已经为 nginx 和 wordpress 3.0.1 修复了它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-11
  • 2011-01-08
  • 1970-01-01
  • 2018-07-06
  • 2018-10-28
  • 1970-01-01
  • 2018-11-08
相关资源
最近更新 更多