播客 Feed 的 301 重定向
301 Redirect for Podcast Feed
我们最近从 Clover 站点迁移到 Wordpress 站点,因此我们播客的结构发生了变化。我们有两个播客提要,一个用于音频,一个用于视频。
旧的播客提要是从这些 url 中提取的...
http://nmconline.net/podcast.php?pageID=27
http://nmconline.net/podcast.php?pageID=28
我们的新 Feed 位于...
http://nmc.church/feed/videopodcast
http://nmc.church/feed/audiopodcast
我已经尝试了几种不同的重定向方式,但仍然没有成功。我试过使用直接 301 重定向,最近才转向 RewriteRule,但仍然无法正常工作。不确定它是否重要,但我正在将旧 nmconline.net 域转发到我们的新 nmc.church 域。
这是我当前的 .htaccess 文件。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^podcast\.php?pageID=27 http://nmc.church/feed/videopodcast [R=301,L]
RewriteRule ^podcast\.php?pageID=28 http://nmc.church/feed/audiopodcast [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
提前致谢!
您无法在 RewriteRule
中匹配 QUERY_STRING
。方法如下:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^pageID=27$ [NC]
RewriteRule ^podcast\.php$ http://nmc.church/feed/videopodcast? [R=301,L]
RewriteCond %{QUERY_STRING} ^pageID=28$ [NC]
RewriteRule ^podcast\.php$ http://nmc.church/feed/audiopodcast? [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
在 URL 末尾的 ?
将删除之前的查询字符串。
我们最近从 Clover 站点迁移到 Wordpress 站点,因此我们播客的结构发生了变化。我们有两个播客提要,一个用于音频,一个用于视频。
旧的播客提要是从这些 url 中提取的...
http://nmconline.net/podcast.php?pageID=27
http://nmconline.net/podcast.php?pageID=28
我们的新 Feed 位于...
http://nmc.church/feed/videopodcast
http://nmc.church/feed/audiopodcast
我已经尝试了几种不同的重定向方式,但仍然没有成功。我试过使用直接 301 重定向,最近才转向 RewriteRule,但仍然无法正常工作。不确定它是否重要,但我正在将旧 nmconline.net 域转发到我们的新 nmc.church 域。
这是我当前的 .htaccess 文件。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^podcast\.php?pageID=27 http://nmc.church/feed/videopodcast [R=301,L]
RewriteRule ^podcast\.php?pageID=28 http://nmc.church/feed/audiopodcast [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
提前致谢!
您无法在 RewriteRule
中匹配 QUERY_STRING
。方法如下:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^pageID=27$ [NC]
RewriteRule ^podcast\.php$ http://nmc.church/feed/videopodcast? [R=301,L]
RewriteCond %{QUERY_STRING} ^pageID=28$ [NC]
RewriteRule ^podcast\.php$ http://nmc.church/feed/audiopodcast? [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
在 URL 末尾的 ?
将删除之前的查询字符串。