我有多個WordPress網站在子目錄中運行。帶nginx的Wordpress多站點。匹配位置內的子目錄
一切正常,但我正在尋找簡化我的nginx配置。
目前,當我添加一個位置時,我需要爲指定的目錄添加一個條目到我的服務器配置。
location/{
try_files $uri $uri/ /index.php?q=$args;
}
location /site1 {
try_files $uri $uri/ /site1/index.php?q=$args;
}
location /site2 {
try_files $uri $uri/ /site2/index.php?q=$args;
}
location /site2 {
try_files $uri $uri/ /site3/index.php?q=$args;
}
location /site4 {
try_files $uri $uri/ /site4/index.php?q=$args;
}
我試着添加一個正則表達式來匹配子目錄,但似乎有一個問題。
location /([_-0-9a-zA-Z]/?) {
try_files $uri $uri/ /$1index.php?q=$args;
}
似乎沒有辦法。理論上應該匹配一個子目錄,或者什麼都不匹配,並且能夠讓我添加新的目錄而不必觸摸nginx配置。
任何指針,將不勝感激。
@jedifans指出,如何讓正則表達式的工作
感謝。這在任何頁面上都有竅門,但是當我去/它只是試圖下載index.php。
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_pass php70;
fastcgi_keep_conn on;
}
location ~ ^/([_\-0-9a-zA-Z]*/?) {
try_files /$1$uri /$1$uri/ /$1index.php?q=$args;
}
但是,當我去domain.com/site1/我得到的index.php不是主頁的下載。少了什麼東西?
我已經更新了我的答案。 – jedifans