Wordpress 如何将example.com/blog/month/post重定向到example.com/post

Wordpress 如何将example.com/blog/month/post重定向到example.com/post,wordpress,.htaccess,redirect,Wordpress,.htaccess,Redirect,我最近创建了一个用于Serverpilot的新水滴。因此,我创建了一个新的液滴,并使用多功能WP迁移插件从我的旧液滴迁移内容。在permalink设置中,我维护了先前的permalink结构,即example.com/post-name,并保存了设置 但是,突然间,我可以看到example.com/blog/dd-mm-yy/post-name上的有机流量(搜索引擎流量),这显然是返回not found 404页面 我不知道这是否是一个暂时的问题,因为我已经有了正确的永久链接结构设置 现在,我想

我最近创建了一个用于Serverpilot的新水滴。因此,我创建了一个新的液滴,并使用多功能WP迁移插件从我的旧液滴迁移内容。在permalink设置中,我维护了先前的permalink结构,即example.com/post-name,并保存了设置

但是,突然间,我可以看到example.com/blog/dd-mm-yy/post-name上的有机流量(搜索引擎流量),这显然是返回not found 404页面

我不知道这是否是一个暂时的问题,因为我已经有了正确的永久链接结构设置

现在,我想将任何到example.com/blog/date/post-name的流量重定向到example.com/post-name。所有的职位。基本上,我想从所有帖子中去掉/blog/dd-mm-yy,这样用户就可以重定向到example.com/post-name

有什么方法可以从.htaccess进行访问吗

.htaccess文件如下所示:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ %{HTTP_HOST}/$1 [R=301,L] RewriteRule ^blog/(?:\d+/)+/([^/]+/?)$ /blog/$1 [L,NC,R=301] 
RewriteBase / 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule>

重新启动发动机
重写cond%{HTTP_HOST}^www\。
重写规则^(.*)$%{HTTP_HOST}/$1[R=301,L]重写规则^blog/(?:\d++/)++/([^/]+/?)$/blog/$1[L,NC,R=301]
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]

内部
/.htaccess
将此规则作为第一条规则:

RewriteEngine On
RewriteBase / 

RewriteRule ^blog/(?:\d+/)+/([^/]+/?)$ /blog/$1 [L,NC,R=301]

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ %{HTTP_HOST}/$1 [R=301,L]

RewriteRule ^index\.php$ - [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

内部
/.htaccess
将此规则作为第一条规则

RewriteEngine On
RewriteBase / 

RewriteRule ^blog/(?:\d+/)+/([^/]+/?)$ /blog/$1 [L,NC,R=301]

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ %{HTTP_HOST}/$1 [R=301,L]

RewriteRule ^index\.php$ - [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

你好,阿努巴夫,谢谢你的回复。。我已经编辑了这个问题。我想将example.com/blog/dd-mm-yy/post-name重定向到example.com/post-name。。。那么,我应该添加以下规则吗?RewriteEngine On RewriteRule^data/(.*)$/blog/$1[L,NC,R=301]嗨,阿努巴夫,帖子的URL是这样的>>很抱歉在这个问题上没有做对。所以,我已经添加了更新的规则,但我看到网站没有被重定向。。。这是因为日期格式错误吗?我需要再次修改规则吗?很抱歉,回复太晚,但我无法让它工作。最后,我使用重定向插件手动重定向了所有帖子。不过,我想补充一点,我从未为我的网站创建过/blog子文件夹。它一定是由主题添加的,我猜它只是一个类别。因此,您的建议不起作用。您好,anubahv,请参见:RewriteCond%{HTTP_HOST}上的RewriteEngine^www\。重写规则^(.*)${HTTP_HOST}/$1[R=301,L]重写规则^blog/(?:\d++/)++/([^/]+/?)$/blog/$1[L,NC,R=301]重写基/重写规则^index\.php$-[L]重写cond%{REQUEST_FILENAME}-f RewriteCond%{REQUEST_FILENAME}-重写规则/index.php[L]这就是它应该是什么样子,对吗?嗨,阿努巴夫,谢谢你的回复。。我已经编辑了这个问题。我想将example.com/blog/dd-mm-yy/post-name重定向到example.com/post-name。。。那么,我应该添加以下规则吗?RewriteEngine On RewriteRule^data/(.*)$/blog/$1[L,NC,R=301]嗨,阿努巴夫,帖子的URL是这样的>>很抱歉在这个问题上没有做对。所以,我已经添加了更新的规则,但我看到网站没有被重定向。。。这是因为日期格式错误吗?我需要再次修改规则吗?很抱歉,回复太晚,但我无法让它工作。最后,我使用重定向插件手动重定向了所有帖子。不过,我想补充一点,我从未为我的网站创建过/blog子文件夹。它一定是由主题添加的,我猜它只是一个类别。因此,您的建议不起作用。您好,anubahv,请参见:RewriteCond%{HTTP_HOST}上的RewriteEngine^www\。重写规则^(.*)${HTTP_HOST}/$1[R=301,L]重写规则^blog/(?:\d++/)++/([^/]+/?)$/blog/$1[L,NC,R=301]重写基/重写规则^index\.php$-[L]重写cond%{REQUEST_FILENAME}-f RewriteCond%{REQUEST_FILENAME}-重写规则/index.php[L]它应该是这样的,对吗?