当前位置

为MediaWiki网站增加一个rss.xml展示新建页面

James Qi 在 2017年3月5日 - 00:18 提交
内容摘要:以前MediaWiki做的站点也留了rss.xml在.htaccess中指向一个网址https://%{HTTP_HOST}/api.php?hidebots=1&days=30&li......

  以前MediaWiki做的站点也留了rss.xml在.htaccess中指向一个网址https://%{HTTP_HOST}/api.php?hidebots=1&days=30&limit=1000&action=feedrecentchanges&feedformat=rss,但这个是“最近更新”,展示的是版本对比页面链接,带有很多&,在robots.txt中被屏蔽了,搜索引擎也不去爬取,我就改为/index.php?title=Special:NewPages&feed=rss&hideredirs=1&limit=500&namespace=0&tagfilter= 来展示“新建页面”,另外就是把rss.xml不做成跳转,而是固定的网址,实现办法是先建一个rss.php:

<?php
/*
* rss.php replace rss.xml
* James Qi
* 2017-3-4 for MediaWiki
* modify .htaccess:
RewriteCond     %{REQUEST_URI}          ^\/rss\.xml$RewriteCond %{REQUEST_URI} ^\/rss\.xml$
RewriteRule ^(.*)$ /rss.php [L]
RewriteRule     ^(.*)$                  /rss.php [L]
*/
header("Content-Type: text/xml; charset=utf-8");
$server_name = $_SERVER['SERVER_NAME'];
$request_uri = "/index.php?title=Special:NewPages&feed=rss&hideredirs=1&limit=500&namespace=0&tagfilter=";
$rss = file_get_contents("https://$server_name$request_uri");
print $rss;
?>

  然后修改.htaccess:

RewriteCond %{REQUEST_URI} ^\/rss\.xml$
RewriteRule ^(.*)$ /rss.php [L]

  这样用户再访问rss.xml时网址不会跳转,而是依靠rss.php去读取内容来这里展示,例如: https://www.jamesqi.com/rss.xml

 

自由标签:

添加新评论

Plain text

  • 不允许使用HTML标签。
  • 自动将网址与电子邮件地址转变为链接。
  • 自动断行和分段。
验证码
本问题用于测试您是否为人类访问者,避免自动垃圾发贴。
图形验证
键入显示在图片中的字符