以前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 。
评论