这个过程非常复杂,并不完全漂亮.你需要查看Title找到的课程includes/Title.php.您应该从newFromText方法开始,但大部分逻辑都在secureAndSplit方法中.
请注意(与MediaWiki一样)代码没有丝毫解耦.如果要复制它,则需要提取逻辑而不是简单地重用类.
逻辑看起来像这样:
Apple#Name../directory/page)~~~)(由于某种原因)此外,我相信我说的是引号不需要由原始用户编码 - 浏览器可以透明地处理它们.
我希望有所帮助!
http://en.wikipedia.org/wiki/Wikipedia:Naming_conventions_%28technical_restrictions%29 - 在这里,您对引擎对文章名称的强制执行了一些描述.
他们应该在他们的LocalSettings.php中有这样的东西:$ wgArticlePath ='/ wiki/$ 1';
和适当的服务器URI重写配置 - 他们似乎使用Apache(HTTP标头),所以它可能是mod_rewrite.http://www.mediawiki.org/wiki/Manual:Short_URL
你也可以参考index.php文件获取维基百科上的文章,如下所示:http://en.wikipedia.org/w/index.php?title=Foo%20bar并由引擎重定向到http://en.wikipedia.org/wiki/Foo_bar.在幕后,mod_rewrite将其转换为/index.php?title=Foo_bar.对于MediaWiki引擎,它与您访问时相同 http://en.wikipedia.org/w/index.php?title=Foo_bar- 此页面不会重定向您.
| 归档时间: |
|
| 查看次数: |
1149 次 |
| 最近记录: |