MediaWiki Apache2 RewriteEngine não funciona

1

Estou trabalhando no Manual: URL curto / guia do Apache para configurar um wiki com um número reduzido url em um servidor Debian executando o Apache2.

Eu quero que o diretório / var / www / currienet / w / esteja acessível em currienet / wiki / (endereço de rede local)

Eu tenho o seguinte no arquivo httpd.conf:

<VirtualHost *:80>
      ServerName http://currienet
      # !!! Be sure to point DocumentRoot to 'public'!
      DocumentRoot /var/www/currienet/root/
      <Directory /var/www/currienet/root>
        Allow from all
      </Directory>


        <Directory /var/www/currienet/w/>

        </Directory>

      # Alias /wiki '/var/www/currienet/w'
      LogLevel debug

      # Enable the rewrite engine
      RewriteEngine On

      # Short url for wiki pages
      RewriteRule ^/?wiki(/.*)?$ /var/www/currienet/w/index.php [L]
</VirtualHost>

E as seguintes configurações no LocalSettings.php

$wgScriptPath       = "/w";
$wgArticlePath = "/wiki/$1";

Quando eu tento acessar o currienet / wiki eu vejo a página principal sendo exibida, mas nenhuma das imagens, folhas de estilo etc são carregadas e recebo o seguinte no log de erros do Apache (ip's bloqueados por segurança):

[Tue Oct ***.***.***.*** 2012] [notice] Apache/2.2.22 (Debian) Phusion_Passenger/3.0.17 PHP/5.4.4-2 configured -- resuming normal operations
[Tue Oct ***.***.***.*** 2012] [error] [client ***.***.***.***] File does not exist: /var/www/currienet/root/w, referer: http://currienet/wiki/Main_Page
[Tue Oct ***.***.***.*** 2012] [debug] mod_deflate.c(615): [client ***.***.***.***] Zlib: Compressed 283 to 216 : URL /w/load.php, referer: http://currienet/wiki/Main_Page
[Tue Oct ***.***.***.*** 2012] [error] [client ***.***.***.***] File does not exist: /var/www/currienet/root/w, referer: http://currienet/wiki/Main_Page
[Tue Oct ***.***.***.*** 2012] [debug] mod_deflate.c(615): [client ***.***.***.***] Zlib: Compressed 283 to 216 : URL /w/load.php, referer: http://currienet/wiki/Main_Page
[Tue Oct ***.***.***.*** 2012] [error] [client ***.***.***.***] File does not exist: /var/www/currienet/root/w, referer: http://currienet/wiki/Main_Page
[Tue Oct ***.***.***.*** 2012] [debug] mod_deflate.c(615): [client ***.***.***.***] Zlib: Compressed 283 to 216 : URL /w/load.php, referer: http://currienet/wiki/Main_Page
[Tue Oct ***.***.***.*** 2012] [error] [client ***.***.***.***] File does not exist: /var/www/currienet/root/w, referer: http://currienet/wiki/Main_Page
[Tue Oct ***.***.***.*** 2012] [debug] mod_deflate.c(615): [client ***.***.***.***] Zlib: Compressed 324 to 248 : URL /w/skins/common/images/poweredby_mediawiki_88x31.png, referer: http://currienet/wiki/Main_Page
[Tue Oct ***.***.***.*** 2012] [debug] mod_deflate.c(615): [client ***.***.***.***] Zlib: Compressed 0 to 2 : URL /wiki/images/swan.png, referer: http://currienet/wiki/Main_Page
[Tue Oct ***.***.***.*** 2012] [debug] mod_deflate.c(615): [client ***.***.***.***] Zlib: Compressed 11292 to 3748 : URL /wiki/Images/swan.png, referer: http://currienet/wiki/Main_Page

E o seguinte em other_vhosts_access.log:

currienet:***.***.***.***.96 - - [02/Oct/2***.***.***.*** +0800] "GET /wiki/Main_Page HTTP/1.1" 304 276 "http://currienet/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1"
currienet:***.***.***.***.96 - - [02/Oct/2***.***.***.*** +0800] "GET /w/load.php?debug=false&lang=en-gb&modules=mediawiki.legacy.commonPrint%2Cshared%7Cskins.vector&only=styles&skin=vector&* HTTP/1.1" 404 497 "http://currienet/wiki/Main_Page" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1"
currienet:***.***.***.***.96 - - [02/Oct/2***.***.***.*** +0800] "GET /w/load.php?debug=false&lang=en-gb&modules=startup&only=scripts&skin=vector&* HTTP/1.1" 404 498 "http://currienet/wiki/Main_Page" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1"
currienet:***.***.***.***.96 - - [02/Oct/2***.***.***.*** +0800] "GET /w/load.php?debug=false&lang=en-gb&modules=skins.vector&only=scripts&skin=vector&* HTTP/1.1" 404 498 "http://currienet/wiki/Main_Page" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1"
currienet:***.***.***.***.96 - - [02/Oct/2***.***.***.*** +0800] "GET /w/skins/common/images/poweredby_mediawiki_88x31.png HTTP/1.1" 404 530 "http://currienet/wiki/Main_Page" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1"
currienet:***.***.***.***.96 - - [02/Oct/2***.***.***.*** +0800] "GET /wiki/images/swan.png HTTP/1.1" 301 539 "http://currienet/wiki/Main_Page" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1"
currienet:***.***.***.***.96 - - [02/Oct/2***.***.***.*** +0800] "GET /wiki/Images/swan.png HTTP/1.1" 404 4209 "http://currienet/wiki/Main_Page" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1"
currienet:80 ::1 - - [02/Oct/2***.***.***.*** +0800] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.2.22 (Debian) (internal dummy connection)"
currienet:80 ::1 - - [02/Oct/2***.***.***.*** +0800] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.2.22 (Debian) (internal dummy connection)"
    
por Dr.Seuss 01.10.2012 / 12:39

1 resposta

1

Você tem algumas coisas erradas com a sua configuração do Apache.

ServerName http://currienet

Este deve ser o nome de domínio do site sem o http: //

ServerName currienet.blah.com

Este bloco de diretório deve declarar explicitamente suas opções e acesso.

<Directory /var/www/currienet/w/>
Order Allow,Deny
Allow from all
</Directory>

Você comentou a linha que precisa:

# Alias /wiki '/var/www/currienet/w'

Além disso, você deve ter uma linha Alias com um final / no wiki.

Alias /wiki/ '/var/www/currienet/w/'

Agora, reescreve. As regras de reescrita são para mapear um URL para outro - não mapear um URL para um diretório.

  # Short url for wiki pages
  RewriteRule ^/?wiki(/.*)?$ /var/www/currienet/w/index.php [L]

Isso não vai fazer o que você espera (ele tentará servir a página http://YOURSITE/var/www/currienet/w/index.php , que provavelmente não existe). Se você colocar a diretiva Alias no lugar e definir corretamente as opções de diretório para esse diretório, não precisará de regras de regravação.

    
por 01.10.2012 / 20:10