我想301重定向整个网站,但排除一个名为 /uploads的文件夹中的一切存在于 /root目录。
/uploads
/root
我谷歌过这个,但是没有找到任何东西,或者我认为我看到的是错误的。
我们能破解吗?
试试这个 改写规则:
RewriteEngine on RewriteRule !^uploads($|/) http://example.com%{REQUEST_URI} [L,R=301]
此规则确实匹配任何以 /uploads或 /uploads/开头的 没有 URL 路径(由于在。Htaccess 文件) ,并将请求重定向到 Example.com的相应路径。
/uploads/
我觉得你想要这个:
RewriteEngine on RewriteCond %{REQUEST_URI} !^/uploads/ RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]
如果得到 500 Internal Error,那么再次检查第二行上的 }和 !之间是否有空格。
500 Internal Error
Simple answer I just stumbled upon myself.
在顶部的任何其他调用之前添加以下内容
RewriteRule ^(uploads) - [L]
基于现代别名的解决方案
重定向除特定文件夹之外的所有文件夹
在 root/. htaccess 中添加以下代码行:
RedirectMatch 301 ^/((?!uploads).*)$ http://newdomain.com/$1
这将把所有页面(不包括/upload/*)从旧域重定向到新域。