按照以下步骤操作:
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/>