代码之家  ›  专栏  ›  技术社区  ›  David

为Mediawiki重写Nginx干净的URL

  •  1
  • David  · 技术社区  · 16 年前

    在发布这篇文章之前,我已经尽最大努力研究并尝试了我找到的解决方案,希望它也能帮助其他人。

    我试着在Mediawiki中写网址到domain.com/PageTitle(我知道这是一种不好的做法)。我99%的时间都在用这个:

    http://snipt.org/msh (摘自drupal教程,因此可能完全不符合我的目的)

    但当我在页面标题末尾添加“&action=purge”时,效果不佳。它试图向我显示一个名为“PageTitle&action=purge”的页面。

    1 回复  |  直到 16 年前
        1
  •  3
  •   Valery Viktorovsky    16 年前

    NginxMediaWiki :

    http {
      include       mime.types;
      default_type  application/octet-stream;
    
      sendfile        on;
      keepalive_timeout  30;
      gzip  on;
      charset utf-8;
    
      server {
        listen 80;
        server_name wiki.nginx.org;
    
        root /var/www/mediawiki;
    
        access_log /var/log/nginx/wiki.nginx.org-access.log;
        error_log  /var/log/nginx/wiki.nginx.org-error.log info;
    
        location / {
          index index.php5;
          error_page 404 = @mediawiki;
        }
    
        location @mediawiki {
          rewrite ^/([^?] *)(?:\?(.*))? /index.php5?title=$1&$2 last;
        }
    
        location ~ \.php5?$ {
          include /etc/nginx/fastcgi_params;
          fastcgi_pass  127.0.0.1:8888;
          fastcgi_index index.php5;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
      }
    }