Mediawiki 将现有 wiki 页面迁移到短网址而不影响 SEO(保留旧链接)

Mediawiki 将现有 wiki 页面迁移到短网址而不影响 SEO(保留旧链接)

按照以下步骤操作:

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

我已经从以下 URL 迁移了我的 wiki 页面:

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 页面迁移到短网址并创建从旧网址到新网址的重定向?

答案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/>

相关内容