我最近创建了一个与Serverpilot一起使用的新Droplet。因此,我使用All in one WP迁移插件创建了一个新的Droplet并从我的旧Droplet迁移了内容。在永久链接设置中,我保留了之前的永久链接结构,即example.com/post-name并保存了设置。
但是,突然之间,我可以看到有机流量(搜索引擎流量)到example.com/blog/dd-mm-yy/post-name,这显然是找不到404页面。
我不知道这是否是一个临时问题,因为我已经设置了正确的固定链接结构。
现在我想将来自example.com/blog/date/post-name的任何流量重定向到example.com/post名称。对于所有帖子。基本上,我想从所有帖子中删除/ 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>
答案 0 :(得分:0)
内部/.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]