【发布时间】:2014-11-19 12:10:37
【问题描述】:
多年来,我们一直在运行 mediawiki 安装。在升级到较新版本期间,我们决定切换到维基百科使用的short url 模式。这工作正常。
所以我们的配置文件现在看起来像这样
# Enable the rewrite engine
RewriteEngine On
# Short url for wiki pages
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/index.php [NC]
如 mediawiki 文档中所述。
但是我们在其他地方有一些旧的 URL,我们仍然希望支持。
旧网址如下所示:
wiki.domain.com/wiki/Index.php/articlename
现在这个 URL 看起来像这样:
wiki.domain.com/wiki/articlename
但是使用旧的 URL,现在只是给出了一个找不到的页面。
我们已尝试使用online htaccess tester 来查找正确的 RewriteRule。我们让它在那里工作。但在我们的 apache 服务器配置中使用它时不会。
在 RewriteEngine On 之后尝试使用此规则:
RewriteRule ^(.*?)index\.php(/|$) /$1 [R=301,NC,NE]
这应该将用户重定向到一个新的网址。但是我们仍然得到页面未找到错误,并且 URL 看起来仍然相同。 我们的新重写规则是错误的,还是 apache 配置中可能有其他错误。如果需要,将提供配置文件。
【问题讨论】:
-
在Server Fault 上获得帮助可能更容易,因为这个问题与其说是编程问题,不如说是关于服务器配置的问题
-
感谢您的意见。我将在服务器故障处尝试。我应该删除这篇文章,还是链接到 Server Fault 的新问题?所以有同样问题的人可以在那里找到它?
标签: apache mod-rewrite mediawiki