.htaccess 重定向整个网站结构,但保留一些旧结构不变

.htaccess redirect whole website structure but leave some of the old structure intact

我已经搜索过但无法完全找到这种情况的答案:

我的网站结构如下

www.example.co.uk/old-folder1/old-folder2/old-page-name

我需要将整个结构重定向到:

www.example.co.uk/new-folder1/old-folder2/old-page-name

我成功地做到了:

RewriteRule ^old-folder1/(.*)$ /new-folder1/ [R=302,L]

但是,如果可能的话,目前我仍然想提供旧结构中的图像,即。

www.example.co.uk/old-folder1/old-images-folder/old-image.jpg

目前上面的内容被重写为:

www.example.co.uk/new-folder1/old-images-folder/old-image.jpg

这是有道理的,但这引出了我的问题,是否有任何方法可以从上面的 RewriteRule 中排除 'old-folder1' 中的某些子目录,例如 www.example.co.uk/old-folder1/old-images-folder/old-image.jpg 还能访问吗?

我对此没有太多经验,但通过研究我想出了以下方法,但它不起作用。

RewriteCond %{REQUEST_URI} !^/old-folder1/old-images-folder/.*$

我开始认为这甚至可能无法通过我采用的方法实现:

RewriteRule ^old-folder1/(.*)$ /new-folder1/ [R=302,L]

谢谢

目前 .htaccess 文件的全部内容是:

Options +SymLinksIfOwnerMatch
RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_URI} !^/old-folder1/old-images-folder/.*$
RewriteRule ^old-folder1/(.*)$ /new-folder1/ [R=302,L]

尝试:

RewriteRule ^old-folder1/(?!old-images-folder)(.*)$ /new-folder1/ [R=302,L]

但是,可能发生的情况是您的图像是使用相对 URL 链接的,因此它们可能相对链接到 "new" 图像文件夹。

您应该检查您的链接并确保它们正确链接到旧路径。