我刚刚将一个博客从Squarespace转移到自托管WordPress,我正在尝试设置重写规则,以便旧的RSS链接继续适用于现有订阅者。
我正在使用的网址如下:
方形空间:http://example.com/blog/atom.xml WordPress:http://example.com/feed/
我在我的functions.php中找到了以下代码
add_action( 'init', 'ss_feed' );
function ss_feed()
{
global $wp_rewrite;
$wp_rewrite->add_external_rule( 'blog/atom\.xml$', 'feed/' );
}
这已成功导致我的.htaccess文件更新:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^blog/atom\.xml$ /feed/ [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
然而,点击http://example.com/blog/atom.xml仍会导致WordPress 404.任何人都可以解释这里可能出现的问题吗?请注意,我启用了WP超级缓存,并且.htaccess中也有一个大块,如果人们认为这可能是相关的,我可以在这里添加。
答案 0 :(得分:0)
在Wordpress管理员中刷新永久链接作为第一个故障排除步骤。这经常解决这些问题。