Назад | Перейти на главную страницу

Mediawiki переносит существующую вики-страницу на короткий URL, не влияя на SEO (сохраняйте старые ссылки)

Следуя инструкциям на странице:

http://www.mediawiki.org/wiki/Manual:Short_URL
http://www.mediawiki.org/wiki/Manual:Short_URL/Apache

Я уже перенес свою вики-страницу с URL-адресов:

http://acacha.org/mediawiki/index.php/ARTICLENAME

к

http://acacha.org/mediawiki/ARTICLENAME

Например, теперь, чтобы увидеть статью об Apache, вы можете перейти по ссылке:

http://acacha.org/mediawiki/Apache

Но теперь моя проблема - это следующая старая ссылка:

http://acacha.org/mediawiki/index.php/Apache

Mediawiki интерпретирует это как статью с именем "index.php / Apache". Я не возражаю, если не могу писать статьи, начинающиеся с index.php /, но для SEO очень важно, чтобы старые ссылки перенаправлялись на новые. Например, я хочу перенаправить с URL:

http://acacha.org/mediawiki/index.php/Apache

к

http://acacha.org/mediawiki/Apache

Моя текущая конфигурация:

Apache VirtualHost (файл /etc/apache2/conf-available/mediawiki.conf). Следить:

ServerName acacha.org
ServerAlias www.acacha.org
DocumentRoot /var/lib/acacha_mediawiki

php_value upload_max_filesize  20M

#DOES NOT WORK:
#AliasMatch ^/mediawiki/index.php(.*) /var/lib/acacha_mediawiki/w/index.php

<Directory /var/lib/acacha_mediawiki/>
        #If this is uncommented new files uploaded give a Forbidden Error. Example:
        # http://acacha.org/mediawiki/upload/c/c0/Francesc_fores_identity.png --> SOLVED ADDING +SymLinksIfOwnerMatch above
        Options +FollowSymLinks +SymLinksIfOwnerMatch
        AllowOverride All

        ## http://www.mediawiki.org/wiki/Manual:Short_URL/Apache
        # Enable the rewrite engine
        RewriteEngine On
        LogLevel alert rewrite:trace2

        # Short url for wiki pages: old pages
        #DOES NOT WORK:
        #RewriteRule ^/?mediawiki/index.php(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [L,QSA]
        #RewriteRule ^/?mediawiki/index.php/(.*)$ %{DOCUMENT_ROOT}/w/index.php/$1 [L,QSA]

        # Short url for wiki pages
        RewriteRule ^/?mediawiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [L,QSA]

        # Redirect / to Main Page
        RewriteRule ^/*$ %{DOCUMENT_ROOT}/w/index.php [L,QSA]

        Require all granted

</Directory>
...

Mediawiki установлен по адресу:

/ var / lib / acacha_mediawiki / w

И файл LocalSettings:

...
define('MW_INSTALL_PATH','/var/lib/acacha_mediawiki/w');
...
$wgScriptPath       = "/w";
$wgScriptExtension  = ".php";

$wgArticlePath      = "/mediawiki/$1";
$wgUsePathInfo = true;
...

Можно ли перенести существующую страницу mediawiki на короткие URL-адреса и создать перенаправление со старых URL-адресов на новые?

Хорошо. Я нахожу решение. Я добавил redirectMatch:

RedirectMatch 301 /mediawiki/index.php$ http://acacha.org/mediawiki/Main_Page
RedirectMatch 301 /mediawiki/index.php/(.*) http://acacha.org/mediawiki/$1

Перед:

 <Directory /var/lib/acacha_mediawiki/>