我希望仍然从旧域上的子目录提供一个URL,但是将所有其他URL从父目录重定向到新域。
www.olddomain.co.uk/directorya/directoryb - >没有重定向 www.olddomain.co.uk/directorya - > www.newdomain.co.uk/directorya
如果使用尾部斜杠键入URL,则此方法有效
RewriteCond %{REQUEST_URI} !^/directorya\/directoryb [NC]
RewriteRule ^(.*)$ http://www.newdomain.co.uk/ [L,R=301]
所以http://www.olddomain.co.uk/directorya/directoryb/有效但http://www.olddomain.co.uk/directorya/directoryb失败。
尝试在最后添加$和其他内涵并尝试
RewriteEngine on
RewriteRule !^myspecialdirectory/mynextdirectory($|/) http://newdomain.example%{REQUEST_URI} [L,R=301]
来自Redirect entire site except one directory to a new site - apache .htaccess
要让http://www.olddomain.co.uk/directorya/directoryb/或http://www.olddomain.co.uk/directorya/directoryb重定向,我需要做些什么? (所有其他http://www.olddomain.co.uk页面都转到http://www.newdomain.co.uk
由于我不明白的原因http://www.olddomain.co.uk/directorya/directoryb访问Google并且没有重定向
答案 0 :(得分:1)
尝试使用THE_REQUEST
变量并确保这个非常第一条规则:
RewriteCond %{THE_REQUEST} !\s+/+directorya/directoryb [NC]
RewriteRule ^ http://www.newdomain.co.uk/? [L,R=301]
清除浏览器缓存后进行测试。