Nginx清理网址重写为Mediawiki

时间:2009-09-02 03:06:28

标签: mod-rewrite nginx mediawiki

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

我正在尝试将Mediawiki中的网址写入domain.com/PageTitle(我知道这是不好的做法)。我已经得到了99%的工作:

http://snipt.org/msh(关于drupal的教程,因此对我来说可能完全错误)

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

我不确定我是如何在Apache中解决这个问题的。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

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