Rewrite in Mediawiki, remove index.php, .htaccess

5,495

Solution 1

This MediaWiki documentation does talk about .htaccess.

Solution 2

You can have clean URLs with the following step.

Install the wiki into http://localhost/w and NOT into http://localhost/wiki then Modify the following in LocalSettings.php after you have set it up:

$wgArticlePath = "/wiki/$1";

In the ROOT directory place the following .htaccess file:

RewriteEngine on

## uncomment this rule if you want to redirect to http://localhost/wiki/Main_Page
# RewriteRule ^/$ /wiki/Main_Page [R]

## do the rewrite
RewriteRule ^wiki/?(.*)$ /w/index.php?title=$1 [L,QSA]

Solution 3

Try the following code:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.*)$ /mediawiki/index.php?title=$1&actions=$2 [L]
Share:
5,495

Related videos on Youtube

Tran Cuong
Author by

Tran Cuong

Updated on September 18, 2022

Comments

  • Tran Cuong
    Tran Cuong over 1 year

    I've just installed Mediawiki on Apache and I want the URL should be:

    localhost/Main_Page/
    localhost/Special:Recent_Changes
    ...
    

    instead of:

    localhost/index.php/Main_Page/
    localhost/index.php/Special:Recent_Changes
    

    I've tried many times and in many ways but it still doesn't work. Any suggest for a "exactly" what to do, step by step. Mediawiki docs didn't talk about .htaccess. It had only Nginx and lighttpd.

  • MrWhite
    MrWhite about 6 years
    Although, the MediaWiki docs appear to warn against setting a title URL parameter in the rewritten URL: "be sure to never include ?title=$1 or something like it in the rewrite. Including a query will cause MediaWiki's built in handling to be overridden..."
  • MrWhite
    MrWhite about 6 years
    Although, the MediaWiki docs appear to warn against setting a title URL parameter in the rewritten URL: "be sure to never include ?title=$1 or something like it in the rewrite. Including a query will cause MediaWiki's built in handling to be overridden..."