nginx環境下,mediawiki靜態訪問路徑設定

MathIF發表於2016-11-01

執行環境:

主機:阿里雲ECS CentOS 6.5

伺服器:nginx 1.9.12

語言:PHP 7.0.3

軟體:mediawiki 1.27.1

mediawiki.conf檔案設定

server {
listen 80;
server_name wiki.mmhub.cn;
access_log /path/to/wiki.mmhub.cn_nginx.log combined;
index index.html index.htm index.php;
root /path/to/mywiki;
location ~ [^/]\.php(/|$) {
    #fastcgi_pass remote_php_ip:9000;
     fastcgi_pass unix:/dev/shm/php-cgi.sock;
     fastcgi_index index.php;
    include fastcgi.conf;
    }
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
    expires 30d;
    access_log off;
    }
 location ~ .*\.(js|css)?$ {
    expires 7d;
    access_log off;
    }
location / {
     index index.php;
     error_page 404 = @mediawiki;
   }
location @mediawiki {
     rewrite ^/wiki([^?]*)(?:\?(.*))? /index.php?title=$1&$2 last;
}
}

LocalSettings.php檔案設定如下

$wgScriptPath = "";
$wgArticlePath = "/wiki/$1";
$wgUsePathInfo  = true;

然後就可以了,我的wiki網站是wiki.mmhub.cn,使用nginx設定mediawiki的靜態還是很能折騰的,查詢了很多網站部落格,最後在stackoverflow上面摸到一條靠譜的設定,最後結合系統的設定,終於成功了!

相關文章