Переписать правила для подкаталогов в Wordpress 3 Multiuser с nginx? - PullRequest
1 голос
/ 15 августа 2010

Мой многопользовательский Wordpress 3 включен, но я не знаю, как переписать следующие правила .htaccess для nginx:

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]

Любые подсказки?

1 Ответ

0 голосов
/ 22 августа 2010

Эти коды не работают: (Я сделал некоторые изменения с ними, но все еще не работает в 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 в virtualbox с помощью apache2, просто нашел файл .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;
    }
}

и это работает!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...