2013-12-18 47 views
2

MediaWiki安裝位於domain.com/subdirectory中,並且與Apache一起作爲服務器。MediaWiki在子目錄中的NGINX服務器塊

頁面發現domain.com/subdirectory/index.php/Main_Page

服務器改爲Nginx的那天晚上。 WordPress和XenForo工作正常,但MediaWiki的位置塊無法正常工作。

由於我是NGINX和配置文件內部工作的新手,我不知道如何編寫位置塊以獲得與Apache頁面佈局(index.php顯示)相同的結果。

這是我最近的嘗試(當然失敗了)。

#MEDIAWIKI 
location /subdirectory/ { 
    try_files $uri $uri /index.php?query_string; 
} 

這寫入domain.com/subdirectory/title和index.php丟失。

文件顯示寫入到子域,這不是我想要的。 index.php也需要保留。

感謝您提供儘可能多的信息,以便解決這個問題。例如,我不確定LocalSettings是否需要修改。

回答

0

嘗試增加

index index.php index.html; 

更新*

location /subdirectory/ { 
    index index.php index.html; 
} 

使用重寫

rewrite^/index.php?$request_uri; 

這將請求轉發給/subdirectory/index.php?

在你的情況,/subdirectory/index.php?/Main_Page

+0

謝謝。不幸的是,這確實得到了翻轉到/index.php/Main_Page,但該網站不加載和錯誤是 失敗(20:不是一個目錄) – LPH

+0

我添加此行在OP張貼之上,然後修改try_files location/alv/{ index index.php index.html; try_files $ uri $ uri /alv/index.php?query_string; } – LPH

+0

是的,使用上面的代碼將所有的請求轉發到index.php,在你的情況下,'/子目錄/ index.php/Main_Page'這是一個文件夾的路徑,但它應該是'/subdirectory/index.php?/Main_Page'。所以你可以使用'rewrite'。 –