2016-11-13 49 views
1

我正在使用DokuWiki的網站上工作,該網站名爲MiscWiki.htaccess刪除URL中的字符串

目前所有的URL都是這種方式構造

http://www.miscwiki.org/doku.php/something/something 

我想通過.htaccess重寫從URL中刪除doku.php。我目前有這種說法,但它不起作用。

RewriteRule ^([^/]+)/doku.php/?(.*)$ /$1 [R=301,L] 

謝謝你對這個的幫助。

回答

1

您可以在網站根目錄的.htaccess使用這些規則:

AcceptPathInfo On 
RewriteEngine On 

## Uncomment next 2 lines only when you want to remove doku.php/ from old links 
#RewriteCond %{THE_REQUEST} \s/+doku\.php/(\S*) [NC] 
#RewriteRule^/%1 [R=301,NE,L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule .+ doku.php/$0 [L] 
+0

這種運作良好,並回答了這個問題,但它會導致一個問題,我沒有預測。現在具有舊網址結構的網站上的鏈接不起作用。有沒有辦法做到這一點,同時保留仍然包含doku.php的舊鏈接? – Todd

+0

什麼是一些舊的鏈接不工作? – anubhava

+0

在miscwiki.org的主頁上,藍色鏈接現在不再起作用,我認爲這是因爲它們仍然包含doku.php。 – Todd