我已搜索但无法找到这种确切情况的答案:
我的网站结构如下
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/$1 [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/$1 [R=302,L]
由于
目前.htaccess文件的全部内容是:
Options +SymLinksIfOwnerMatch
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/old-folder1/old-images-folder/.*$
RewriteRule ^old-folder1/(.*)$ /new-folder1/$1 [R=302,L]
答案 0 :(得分:0)
尝试:
RewriteRule ^old-folder1/(?!old-images-folder)(.*)$ /new-folder1/$1 [R=302,L]
HOwever,可能发生的事情是您的图像是使用相对URL链接的,因此它们可能相对链接到“新”图像文件夹。
您应检查链接并确保它们与旧路径正确链接。