将.htaccess更改为301重定向并从URL中删除通配符类别

时间:2016-01-11 06:21:36

标签: wordpress .htaccess redirect

我有一个大型wordpress网站,过去6年一直使用http://[root]/[category]/[postname]的永久链接结构,现在我想更改它以删除网址的类别部分

我可以很容易地做到这一点,但显然我会遇到搜索引擎将人们发送到错误地址的问题所以我想在我的.htaccess中添加一行来将301重定向到没有类别的新路径。

但是,该类别是动态的,如果网址中包含以下条款,则不得更改网址

(图片,图片,wp-content,wp-admin,wp-includes)

我希望列表在一个数组中,所以如果我发现其他名称不能改变,我可以添加它。

以此为例

http://www.lazygamer.net/sony/sonys-trying-trademark-lets-plays/

应该成为

http://www.lazygamer.net/sonys-trying-trademark-lets-plays/

http://www.lazygamer.net/images/2014/07/Lets-play-a-game_thumb.jpg

不得更改

1 个答案:

答案 0 :(得分:1)

如果这些网址包括"图像","图片"," wp-content"等等是服务器上的实际文件或目录,您可以从动态内容的重写规则中排除它们:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\/]+)/([^\/]+)/?$ /$2/ [r=301,nc,L]