具有条件的Apache HTTPD重定向

时间:2012-07-02 09:03:55

标签: apache redirect

我必须将任何 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并重定向除此之外的所有内容? 感谢您的快速回复

1 个答案:

答案 0 :(得分:0)

这一切都在顺序中;首先重定向或别名URL ,然后执行其余操作。

具体见旗(http://httpd.apache.org/docs/current/mod/mod_rewrite.html):

L | last     

是“立即停止重写过程而不再应用任何规则。特别注意每个目录和.htaccess上下文的注意事项(另请参阅END标志)。详细信息......”

所以使用L在^ / images / bg.jpg上重写null将仅免除该条目。

如果它真的是一个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=...

DW传递。