我必须将任何http://www.mycompany.com/old重定向到http://www.mycompany.com/new。
问题是,我必须保留http://www.mycompany.com/old/images/bg.jpg。我目前使用 REDIRECT PERMANENT,它将所有内容重定向到新的子目录。
我如何做到这一点,保留这个http://www.mycompany.com/old/images/bg.jpg并重定向除此之外的所有内容?感谢您的及时回复
我必须将任何http://www.mycompany.com/old重定向到http://www.mycompany.com/new。
问题是,我必须保留http://www.mycompany.com/old/images/bg.jpg。我目前使用 REDIRECT PERMANENT,它将所有内容重定向到新的子目录。
我如何做到这一点,保留这个http://www.mycompany.com/old/images/bg.jpg并重定向除此之外的所有内容?感谢您的及时回复
一切都井然有序;首先重定向或别名该 URL ,然后执行其余部分。
并具体查看标志(http://httpd.apache.org/docs/current/mod/mod_rewrite.html):
L | last
这是“立即停止重写过程并且不再应用任何规则。特别注意每个目录和 .htaccess 上下文的警告(另请参见 END 标志)。详细信息......”
因此,使用 L 对 ^/images/bg.jpg 进行空重写将仅免除该条目。
如果它确实是一个 URL,您也可以用 ! 并首先执行 RewriteCond !^/images/bg.jpg - 然后执行新/旧重写。
RewriteCond !^/images...etc
RewriteRule /old(.*) /new$1 R=...
甚至
RewriteCond !^/images1...etc AND
RewriteCond !^/images2...etc AND
RewriteCond !^/images3...etc
RewriteRule /old(.*) /new$1 R=...
德。