我的测试网址是: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/ 中测试规则时,结果如下:
RewriteCond %{HTTP_HOST} ^aspirecig\.com$ [NC]
满足这个条件
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”?造成这种情况的可能原因是什么?有人可以帮助我吗?非常感谢
当您在 .htaccess(或
<directory>
)中使用 RewriteRule 时,您隐式比较的字符串中的一些前导部分会被删除。
在 DocumentRoot 中,它是前导的“/”。一个更深的目录,比如文档根目录中的 wp-content/,它也会把引导你到那里的那个目录也去掉。
因此,如果此 htaccess 在
$docroot/wp-content
中,则 /wp-content
被剥离。如果您想返回完整的原始 URL,请在此处避免 $1 并使用%{REQUEST_URI}
。