如何将“两个301重定向到一个301重定向” Wordpress

时间:2019-06-06 14:35:17

标签: wordpress .htaccess redirect url-rewriting url-redirection

我需要在WordPress网站上进行一次301重定向,而不是两次

我需要https://www.example.com/sports/test/index.php-> https://www.example.com/sports/test

我有两次301重定向https://www.example.com/sports/test/index.php-> https://www.example.com/sports/test/-> https://www.example.com/sports/test

我在Wordpress上有一个结构为http://www.example.com的网站,然后我浏览了ssl证书,现在我的结构为https://www.example.com
设置:
1)固定链接->自定义结构https://www.example.com/%category%/%postname%/
2)类别前缀->。 (只是点)
3).htacess(使用Wordpress的原始URL规则)

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

#use many recomendation
#-------like this
#RewriteCond %{HTTP_HOST} ^example\.com [NC]
#RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]
#-------end like this

#-------like this
#RewriteEngine on
#RewriteCond %{HTTP_HOST} !^www\. [OR]
#RewriteCond %{HTTPS} off
#RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
#RewriteRule ^ https://www.%1%{REQUEST_URI} [NE,L,R=301] 
#-------end like this

RewriteRule ^index\.php$ - [L]   #remove index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

所有方法均有效,但具有两次301重定向或许多循环重定向,我需要在WP网站上进行一次重定向。谢谢您对我的帮助

2 个答案:

答案 0 :(得分:0)

尝试更改永久链接结构并重新保存。

如果.htaccess是wordpress的默认设置,那么您应该没问题。

对于https,我使用此插件https://it.wordpress.org/plugins/really-simple-ssl/非常简单且有效。

让我知道

答案 1 :(得分:0)

RewriteEngine On 之后和 RewriteBase / 之前添加以下行:

RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} " /(index\.php|([^?]*)/index\.php)"
RewriteRule ^ https://www.example.com/%2 [R=301,L,NE]

对我来说很好