为什么我的 url 在从根域重定向到子域后删除“wp-content”?

问题描述 投票:0回答:1

我的测试网址是:https://mydomains.com/wp-content/uploads-webpc/uploads/2022/05/store-riil-x-1-300x404.jpg.webp

我的 htaccess 规则如下:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^mydomains\.com [NC]

RewriteRule ^(.*)$ https://www.mydomains.com/$1 [L,R=301]

当我在 https://htaccess.madewithlove.com/ 中测试规则时,结果如下:

enter image description here

  1. RewriteCond %{HTTP_HOST} ^aspirecig\.com$ [NC]

    满足这个条件

  2. RewriteRule ^(.*)$ https://www.aspirecig.com/$1 [L,R=301]

    新网址是https://www.aspirecig.com/wp-content/uploads-webpc/uploads/2022/12/black-1.jpg.webp

    测试停止,将使用状态码 301 进行重定向

浏览器的url其实改写为:https://www.mydomains.com/uploads-webpc/uploads/2022/05/store-riil-x-1-300x404.jpg.webp

为什么我丢失了“wp-content”?造成这种情况的可能原因是什么?有人可以帮助我吗?非常感谢

php wordpress apache url redirect
1个回答
0
投票

当您在 .htaccess(或

<directory>
)中使用 RewriteRule 时,您隐式比较的字符串中的一些前导部分会被删除。

在 DocumentRoot 中,它是前导的“/”。一个更深的目录,比如文档根目录中的 wp-content/,它也会把引导你到那里的那个目录也去掉。

因此,如果此 htaccess 在

$docroot/wp-content
中,则
/wp-content
被剥离。如果您想返回完整的原始 URL,请在此处避免 $1 并使用
%{REQUEST_URI}

© www.soinside.com 2019 - 2024. All rights reserved.