0

我已经为我的 mediawiki 实现了短 URL,并且我在 htaccess 中有这些可以工作:

RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [L]

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?w/images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2 [L,QSA,B]

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?w/images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]

如何将没有页面标题的页面 url 重定向到 Main_Page?就像将 mysite.com/wiki/ 重定向到 mysite.com/w/index.php/Main_Page?在 MW Apache 重写手册中它是这样说的:

或者,您可以包含一条规则以在路径本身上显示主页,以在人们访问未指定页面标题的 url 时简化导航:

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

当我添加上述内容时,主域地址被重定向到我不想要的 wiki,因为我有一个不同的主页而不是 wiki。我只想重定向看起来像 mysite.com/wiki 的地址

我尝试了这种重写,但它不起作用。

RewriteRule ^/?wiki/?$ %{DOCUMENT_ROOT}/w/index.php [L]

显然我有什么问题。有人可以看看这个吗?

4

1 回答 1

1

此重定向规则应自动处理将没有页面标题(如 /wiki/)的 url 重定向到 wiki/Main_Page:

RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [L]

之前它对我不起作用,因为在此之前还有其他重写规则。一旦我在所有其他重写规则之前将此重写规则移到顶部,它就起作用了。

于 2013-09-18T21:53:14.973 回答