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

ercv8c1e  于 2023-05-07  发布在  Apache
关注(0)|答案(1)|浏览(219)

我的测试URL是: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/中测试规则时,结果如下:

  1. RewriteCond %{HTTP_HOST} ^aspirecig\.com$ [NC]
    这一条件得到满足。
  2. RewriteRule ^(.*)$ https://www.aspirecig.com/$1 [L,R=301]
    新的url是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内容”?造成这种情况的可能原因是什么?有人能帮我吗?非常感谢
zd287kbt

zd287kbt1#

当你在.htaccess(或<directory>)中使用RewriteRule时,你隐式比较的字符串中的一些前导部分会被去掉。
在DocumentRoot中,它是前导“/”。更深一层的目录,如文档根目录中的wp-content/,它也会剥离引导您到那里的目录。
所以,如果这个htaccess在$docroot/wp-content中,那么/wp-content将被剥离。如果你想返回到完整的原始URL,请避免在这里使用$1,并使用%{REQUEST_URI}

相关问题