Nginx
在 Nginx 1.14 子目錄中設置 Mediawiki
我正在嘗試在 nginx 的子目錄下設置一個 mediawiki。
我不想使用類似
http://wiki.example.com
. 我不想代理回我的伺服器。我想使用
http://www.example.com/wiki
或類似的東西。我嘗試重寫 php,但沒有很好地鍛煉。這是我嘗試過的:
location /wiki { rewrite ^ /wiki/index.php$request_uri; }
我目前正在使用 Mediawiki 1.31.0。
這是迄今為止我能得到的最完整的答案。它似乎無法辨識 Vector 之類的樣式,但其他一切似乎都可以正常工作。這是整個伺服器塊:
server { listen 80; listen [::]:80; root /var/www/basedomain.org; index index.php index.html index.htm index.nginx-debian.html; server_name basedomain.org *.basedomain.org; location / { try_files $uri $uri/ =404; } location /wiki { alias /var/www/mediawiki/code; index index.php index.html; if (-f $request_filename) { break; } rewrite ^/(.*)$ /wiki/index.php?title=$1&$args; } location ~ /wiki/(.+)\.php(/|$) { set $script $uri; if ($uri ~ "/wiki/(.+\.php)(/|$)") { set $script $1; } fastcgi_pass unix:/run/php/php7.0-fpm.sock; include fastcgi_params; fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_param SCRIPT_FILENAME /var/www/mediawiki/code/$script; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } location ~ /\.ht { deny all; }