从URL中删除编码的问号

时间:2012-10-04 17:00:46

标签: mod-rewrite url-rewriting mediawiki wiki url-encoding

您好我启动了一个事实检查维基,其中每个事实检查页面以问号结尾,例如:

http://wecheck.org/wiki/Did_Mitt_Romney_ever_work_as_a_garbage_collector%3F

但是当我通过将其粘贴到评论框中在包括Facebook在内的许多网站上分享此链接时,它会删除%3f(认为它是我猜的查询字符串的开头),使链接无法访问。我必须使用bit.ly连接到不方便的链接,这对新手用户来说是一个问题。

我想我可以使用mod-rewrite来关闭%3F。我目前的重写规则是:

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

如何修改它们以去除%3F?

2 个答案:

答案 0 :(得分:1)

看起来你不想删除%3F。 Mediawiki有自己的路由,所以如果你弄乱了标题名称,你更有可能打破一些东西而不是修复任何东西。您需要修改media-wiki以禁止最后带有?的页面,或者添加模块或wiki bot以浏览所有页面,如果页面以?结尾,创建一个没有#REDIRECT [[]]的{​​{1}}页面,并将其指向包含?的页面。

答案 1 :(得分:0)

答案是创建最后没有问号的页面,然后设置

$wgRestrictDisplayTitle = false; in LocalSettings.php

并在页面标记中使用以下魔术词:

{{DISPLAYTITLE:{{PAGENAME}}?}}

您可以在此处查看示例:http://wecheck.org/wiki/Question_Mark_Problem