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

为mediawiki重写nginx clean url

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

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

    我正试图在mediawiki中将url写入domain.com/pagetitle(我知道这是一种不好的做法)。我99%的人都这么认为:

    http://snipt.org/msh (在Drupal的教程中可能完全错误)

    但是,当我在页面标题的末尾添加“&action=purge”时,就不起作用了。它试图显示一个名为“pageTitle&action=purge”的页面。

    我不知道我在阿帕奇是怎么做到的。

    任何帮助都非常感谢。

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

    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;
        }
      }
    }