在WordPress中使用.htaccess将“博客”重定向到“新闻”的问题

时间:2017-04-11 作者:user117406

我知道这从技术上来说不是WordPress的问题,但因为这是一个WP项目,我在这里发帖,希望其他人也遇到并解决了类似的问题。

我已经将我正在处理的网站的博客部分改为新闻,这一切都很好,但我需要的一件事是使用博客slug的遗留帖子使用新闻slug重定向。看起来很简单,我知道,这就是为什么我要用这个来抓我的头。

这是我在中使用的代码。htaccess文件(上次重写规则是我添加到文件中的规则):

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^blog/(.*)$ /news/$1 [R=301,L]
</IfModule>
# END WordPress
出于某种原因,它不起作用,我已经完成了从刷新缓存到停用插件和nada的所有工作。

如有任何见解,将不胜感激!

2 个回复
SO网友:user117406

好的,这是对我有效的解决方案。。。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^blog/(.*) news/$1 [L,R=301]
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
#结束WordPress

再次感谢@WebElaine的输入!

SO网友:WebElaine

当我把任何自定义重定向放在WP代码之上时,我通常会更幸运。此外,您还需要在重定向中的“blog”之前添加一个/before:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^/blog/(.*)$ /news/$1 [R=301,L]
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

相关推荐

Redirection on domain name

我目前正在调试一个荷兰WP网站https://glaszetterdirect.nl问题是,我从以下位置收到了不需要的重定向:http://www.glaszetterdirect.nl 到https://glaszetterdirect.nl/wp-admin我真的不明白发生了什么事。我已经检查了以下内容:.htaccesswp-config.phpwp_options db表格(siteurl 和home 两者:https://glaszetterdirect.nl)</已选中并删除wp_old