使用.htaccessredirect网站,但排除一个文件夹
我想301redirect整个网站,但排除一个名为“上传”的文件夹中存在的根目录中的所有内容。 我已经为此search了,但没有提出任何事情,或者我不认为我所看到的是正确的。
我们能破解这个吗?
试试这个mod_rewrite规则:
RewriteEngine on RewriteRule !^uploads($|/) http://example.com%{REQUEST_URI} [L,R=301]
此规则不匹配任何不以/uploads
或/uploads/
开头的URLpath(由于在.htaccess文件中使用了path前缀删除,导致/
在模式中缺less前导/
),并将请求redirect到相应的path.com 。
简单的答案,我只是偶然发现自己。
在任何其他呼叫之前,添加以下内容
RewriteRule ^(uploads) - [L]
我想你想要这个:
RewriteEngine on RewriteCond %{REQUEST_URI} !^/uploads/ RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]
如果你得到500 Internal Error
那么请仔细检查你和“ !”之间是否有空格。 在第二行。
基于mod-alias的解决scheme
redirect除特定文件夹以外的所有文件
将以下行添加到您的根/ .htaccess中:
RedirectMatch 301 ^/((?!uploads).*)$ http://newdomain.com/$1
这会将所有页面(不包括/ uploads / *)从旧域redirect到新域。