如何正确重定向除某些特定URL之外的所有.html网址

时间:2017-09-29 11:29:05

标签: wordpress .htaccess redirect

我曾经有一个带.html网址的网站,我更新了没有.html扩展名的网址。还有一些URL更改的页面。所以我要做的是将所有.html页面重定向到非.html,但也有我试图重定向到特定URL的页面(URL更改的页面)。

我可以通过以下方式将所有.html重定向到漂亮的永久链接:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*)\.html$ /$1 [R=301,L]

通过以下方式将一些页面重定向到特定页面:

redirect 301 /xxx/yyy.html /yyy/

上面提到的两个都有效,但是一些重定向规则并不像这样工作:

redirect 301 /information/sub-category/65-xxx.html /sub-category/xxx/
redirect 301 /blog/item/i-am-a-post.html /i-am-a-post/

我需要添加更多内容吗?我当前的.htaccess文件包含:

redirect 301 /xxx/yyy.html /yyy/
redirect 301 /information/sub-category/65-xxx.html /sub-category/xxx/
redirect 301 /blog/item/i-am-a-post.html /i-am-a-post/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*)\.html$ /$1 [R=301,L]

# 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

编辑:我在单次重定向后移动了RewriteCond并且它仍然在做同样的事情。缓存已清除。

1 个答案:

答案 0 :(得分:0)

试试这个wordpress插件https://wordpress.org/plugins/redirection/。您只需添加重定向链接和重定向位置,即可完成所有操作