Я пытаюсь настроить медиа-вики в подкаталоге nginx.
Я не хочу использовать что-то вроде 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;
}