htaccess redirectmatch仅适用于http网址

时间:2019-08-12 18:54:04

标签: wordpress apache .htaccess

我的网站是Https上的wordpress。使用Apache服务器。它在public_html文件夹中,没有private_html文件夹。 我正在尝试使用htaccess设置重定向。

我的/ out /文件夹后跟一个伙伴的URL。我希望将用户转发到该网址。

在我的htaccess中,我有:

RedirectMatch 301 /out/(.*) $1

问题在于代码以某种方式不断在外部网址之前添加我自己的域

https://example.com/out/https://externaldomain.com

应该去

to https:// externaldomain.com

但它转到:

https://example.com/https://externaldomain.com

但是,如果我将自己的网址更改为http而不是https,则可以正常工作

http://example.com/out/https://externaldomain.com

转到

https:// externaldomain.com

1 个答案:

答案 0 :(得分:1)

您可以在网站根目录.htaccess中使用此规则:

RewriteEngine On

RewriteCond %{REQUEST_URI} ^/out/(https?://.+)$ [NC]
RewriteRule ^ %1 [L,NE,R=301]

或者仅使用RewriteRule

RewriteRule ^out/(https?:)/(.+)$ $1//$2 [L,NE,NC,R=301]

确保您在新的浏览器上进行测试或完全清除浏览器缓存。