Mediawiki Remove index.php

From CompleteNoobs
Revision as of 22:54, 23 April 2023 by AwesomO (talk | contribs) (→‎Info)
Jump to navigation Jump to search
Please Select a Licence from the LICENCE_HEADERS page
And place at top of your page
If no Licence is Selected/Appended, Default will be CC0

Default Licence IF there is no Licence placed below this notice! When you edit this page, you agree to release your contribution under the CC0 Licence

LICENCE: More information about the cc0 licence can be found here:
https://creativecommons.org/share-your-work/public-domain/cc0

The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law.

You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.

Licence:

Statement of Purpose

The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work").

Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.

For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.

1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following:

   the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;
   moral rights retained by the original author(s) and/or performer(s);
   publicity and privacy rights pertaining to a person's image or likeness depicted in a Work;
   rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;
   rights protecting the extraction, dissemination, use and reuse of data in a Work;
   database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and
   other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.

2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose.

3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose.

4. Limitations and Disclaimers.

   No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.
   Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.
   Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work.
   Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.

Info

My mediawiki is installed in path /var/www/html/noobs and i want to remove the index.php from the URL

NOTE: This method worked The method on this page was to go completenoobs.com/Main_Page - completenoobs.com/noobs/Main_Page maybe better.

Apache2 config

This apache2 config file is from a localwiki:
Note the Path of DocumentRoot
Inside the Directory angle brackets, note path and make sure:

  • Options Indexes FollowSymLinks
  • AllowOverride All

make sure they are included:

<VirtualHost *:80>
        DocumentRoot /var/www/html/noobs
    <Directory /var/www/html/noobs>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

DocumentRoot /var/www/html/noobs: This line sets the document root directory for the virtual host. The document root is the top-level directory that contains your web content (HTML, CSS, JavaScript, etc.). In this case, the document root is set to /var/www/html/noobs.

<Directory /var/www/html/noobs>: This line begins a configuration block for the /var/www/html/noobs directory. The settings within this block apply to the specified directory and its subdirectories.

Options Indexes FollowSymLinks: This line sets two options for the directory:

  • Indexes: If a requested directory does not have an index file (e.g., index.html or index.php), the server will generate a directory listing for the browser.
  • FollowSymLinks: The server will follow symbolic links in this directory, allowing it to serve files linked from other locations.

AllowOverride All: This line allows the use of .htaccess files in the /var/www/html/noobs directory and its subdirectories. .htaccess files provide a way to modify the configuration on a per-directory basis, overriding the settings specified in the main Apache configuration files. The All value means that all types of overrides are allowed.

Require all granted: This line controls access to the /var/www/html/noobs directory. In this case, it allows access to everyone, meaning there are no access restrictions for this directory.

</Directory>: This line closes the <Directory> configuration block.

.htaccess file

/var/www/html/noobs/.htaccess

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

This .htaccess file contains a set of mod_rewrite rules for URL rewriting. Let's go through each line and explain its purpose:

  • RewriteEngine On: This line enables the URL rewriting engine (mod_rewrite) for this directory.
  • RewriteBase /: This line sets the base URL for per-directory rewrites. In this case, the base URL is set to /, which means that all rewritten URLs will be relative to the root directory.
  • RewriteRule ^index\.php$ - [L]: This line is a rewrite rule that matches any request starting with index.php. The - in the rule means "do nothing" (i.e., don't rewrite the URL). The [L] flag tells the rewrite engine that this is the last rule to be processed if the current request matches this rule. In other words, if a request is for index.php, it won't be processed by any further rewrite rules.
  • RewriteCond %{REQUEST_FILENAME} !-f: This line is a rewrite condition that checks if the requested file (%{REQUEST_FILENAME}) does not exist (!-f). This condition must be met for the subsequent rewrite rule to be executed.
  • RewriteCond %{REQUEST_FILENAME} !-d: This line is another rewrite condition that checks if the requested file is not a directory (!-d).

LocalSettings.php

/var/www/html/noobs/LocalSettings.php

# rewriteURL
$wgScriptPath = "";
$wgArticlePath = "/$1";
$wgUsePathInfo = true;

These lines in the LocalSettings.php file of MediaWiki configure the URL structure and path settings for your wiki. Let's go through each line and explain its purpose:

  • $wgScriptPath = "";: This line sets the base URL path for accessing MediaWiki's PHP scripts. In this case, the path is set to an empty string, which means the scripts are located in the root directory of the webserver (e.g., http://example.com/index.php). If your MediaWiki installation is in a subdirectory, you would set this value to the subdirectory's path (e.g., $wgScriptPath = "/my-wiki" for http://example.com/my-wiki/index.php).
  • $wgArticlePath = "/$1";: This line sets the URL structure for article pages. The $1 placeholder is replaced by the article's title. In this case, the article path is set to /$1, which means article URLs will look like http://example.com/Article_Title. If you want to include a subdirectory in the article path, you can set this value accordingly (e.g., $wgArticlePath = "/wiki/$1" for http://example.com/wiki/Article_Title).
  • $wgUsePathInfo = true;: This line enables or disables the use of "pretty" URLs with path info. When set to true, MediaWiki uses path info to create clean, readable URLs (e.g., http://example.com/Article_Title). If set to false, MediaWiki uses query strings for URLs (e.g., `http://example.com/index.php

Enable Apache2 rewrite module

Make sure the apache2 rewrite module is enabled with:
a2enmod rewrite

Restart apache2 for changes to take effect:
systemctl restart apache2