404 Äntwert vun NGINX beim Versuch mediawiki kuerz URLen z'installéieren

Ech hunn NGINX Setup fir Inhalt iwwer localhost mat HTTPS ze déngen. Mat dem folgenden Standortblock kann ech Mediawiki gutt déngen (et ass am / w Dossier)

location ~ /w/(.*)(\.php)?$ {
  index index.php index.html;
  try_files $uri $uri.php /w/index.php =404;
  fastcgi_pass 127.0.0.1:9000;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}

Wann ech awer kuerz URLen opstellen ( https: // localhost / wiki / Some_Page zum Beispill) benotzt dëse Guide , ech kréien ëmmer 404 Datei net fonnt. Ech benotze PHP-FPM als Upstream,fir Referenz. Hei ass déi voll Konfiguratioun déi ech mat NGINX benotze fir kuerz URLen z'erreechen

worker_processes 1;

events {
  worker_connections 1024;
}

http {
  include mime.types;
  default_type application/octet-stream;
  sendfile on;
  keepalive_timeout 65;
  gzip on;

  log_format compression '$time_local - "$uri" $status "$http_referer" $request_filename';
  access_log /Users/nicholas.chambers/log/nginx/access.log compression;
  error_log /Users/nicholas.chambers/log/nginx/error.log;

  server {
    listen 80;
    server_name localhost;
    return 301 https://$host$request_uri;
  }

  server {
    listen 443 ssl http2;
    server_name localhost;

    ssl_certificate /Users/nicholas.chambers/nginx/ssl/cert.pem;
    ssl_certificate_key /Users/nicholas.chambers/nginx/ssl/private.key;
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets off;

    ssl_protocols TLSv1.2;
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
    ssl_prefer_server_ciphers on;
    ssl_trusted_certificate /Users/nicholas.chambers/ca/intermediate/certs/chain.pem;

    root /Users/nicholas.chambers;

    allow 127.0.0.0/8;
    deny all;

    location ~ /wordpress/(.*)(\.php)?$ {
      index index.php index.html;
      try_files $uri $uri.php /wordpress/$1/index.php /wordpress/index.php =404;
      fastcgi_pass 127.0.0.1:9000;
      include fastcgi_params;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      fastcgi_param SCRIPT_NAME $fastcgi_script_name;
    }

    location ~ ^/w/(index|load|api|thumb|opensearch_desc)\.php$ {
      include fastcgi_params;
      fastcgi_param SCRIPT_FILENAME $document_root/w/$fastcgi_script_name;
      fastcgi_pass 127.0.0.1:9000; # or whatever port your PHP-FPM listens on
    }

    location /w/images {
    }

    location /w/images/deleted {
      deny all;
    }

    location ~ ^/w/resources/(assets|lib|src) {
      try_files $uri 404;
      add_header Cache-Control "public";
      expires 7d;
    }

    location ~ ^/w/(skins|extensions)/.+\.(css|js|gif|jpg|jpeg|png|svg)$ {
      try_files $uri 404;
      add_header Cache-Control "public";
      expires 7d;
    }

    location = /favicon.ico {
      alias /w/images/6/64/Favicon.ico;
      add_header Cache-Control "public";
      expires 7d;
    }

    location /wiki/ {
      rewrite ^/wiki/(?<pagename>.*)$ /w/index.php;
      include fastcgi_params;
      fastcgi_param SCRIPT_FILENAME $document_root/w/index.php;
      fastcgi_param PATH_INFO $pagename;
      fastcgi_param QUERY_STRING $query_string;
      fastcgi_pass 127.0.0.1:9000;
    }

    location = /robots.txt {
    }
  }
}

Ech hu keng Ännerunge u menger LocalSettings.php gemaach, ausser fir déi folgend Donnéeën derbäizefügen

$wgScriptPath = "/w";
$wgScriptExtension = ".php";
$wgArticlePath = "/wiki/$1";
$wgUsePathInfo = true;

Merci am Viraus!

0
задан 20 April 2019 в 02:13
1 ответ

Благодаря помощи Ричарда Смита в комментариях, я смог получить рабочую конфигурацию.

LocalSettings.php:

$wgScriptPath = "/w";
$wgScriptExtension = ".php";
$wgArticlePath = "/wiki/$1";

nginx.conf:

worker_processes 1;

events {
  worker_connections 1024;
}

http {
  include mime.types;
  default_type application/octet-stream;
  sendfile on;
  keepalive_timeout 65;
  gzip on;

  server {
    listen 80;
    server_name localhost;
    return 301 https://$host$request_uri;
  }

  server {
    listen 443 ssl http2;
    server_name localhost;

    # SSL Settings redacted for brevity

    root /Users/nicholas.chambers;

    location ~ ^/w/(index|load|api|thumb|opensearch_desc)\.php$ {
      include fastcgi_params;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      fastcgi_param QUERY_STRING $query_string;
      fastcgi_pass 127.0.0.1:9000;
    }

    location /w/images {
    }

    location /w/images/deleted {
      deny all;
    }

    location ~ ^/w/resources/(assets|lib|src) {
      try_files $uri =404;
      add_header Cache-Control "public";
      expires 7d;
    }

    location ~ ^/w/(skins|extensions)/.+\.(css|js|gif|jpg|jpeg|png|svg)$ {
      try_files $uri =404;
      add_header Cache-Control "public";
      expires 7d;
    }

    location /wiki/ {
      include fastcgi_params;
      fastcgi_param SCRIPT_FILENAME $document_root/w/index.php;
      fastcgi_param QUERY_STRING $query_string;
      fastcgi_pass 127.0.0.1:9000;
    }
  }
}
0
ответ дан 5 December 2019 в 03:25

Теги

Похожие вопросы