.htaccess 从htaccess中删除文件夹

.htaccess 从htaccess中删除文件夹,.htaccess,.htaccess,我的.htaccess文件中有以下代码: RewriteEngine on RewriteCond %{HTTP_HOST} ^(www\.)?oldomain\.com [NC] RewriteCond %{REQUEST_URI} ^/files(/.*)?$ [NC] RewriteRule ^ http://archive.newdomain.com%{REQUEST_URI} [R=301,L] 现在,如果我访问www.oldomain.com/files/document.pdf

我的.htaccess文件中有以下代码:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?oldomain\.com [NC]
RewriteCond %{REQUEST_URI} ^/files(/.*)?$ [NC]
RewriteRule ^ http://archive.newdomain.com%{REQUEST_URI} [R=301,L] 
现在,如果我访问
www.oldomain.com/files/document.pdf
,它会将我重定向到
archive.newdomain.com/files/document.pdf

这不是我想要的。我需要重定向到
archive.newdomain.com/document.pdf
(去掉/files/文件夹)


我应该做哪些更改?

您的代码几乎已经在这样做了,只需将其更改为:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?oldomain\.com$ [NC]
RewriteCond %{REQUEST_URI} ^/files(/.*)?$ [NC]
RewriteRule ^ http://archive.newdomain.com%1 [R=301,L]
使用已捕获但未使用的
%1

不要忘记在测试之前清除浏览器缓存,因为您访问的以前重定向将被缓存