Mediawiki переносит существующую вики-страницу на shortURL без ущерба для 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 интерпретирует thar как статью с именем "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 / Библиотека /acacha_mediawiki/ мас

И файл LocalSettings:

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

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

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

1 ответ

Решение

Хорошо. Я нахожу решение. Я добавил 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/>
Другие вопросы по тегам