Apache 重定向规则处理不正确

Apache 重定向规则处理不正确

考虑以下代码:

RewriteEngine On
RewriteRule ^$  http://%{HTTP_HOST}:8177/index.jsp [C]
RewriteRule ^http://([^:]+):([^/]+)(.*) http://$1:8177$3 [R=301]
RewriteRule ^/$ http://%{HTTP_HOST}:8177/index.jsp [C]
RewriteRule ^http://([^:]+):([^/]+)(.*) http://$1:8177$3 [R=301]


RewriteCond %{REQUEST_URI} card.* 
RewriteRule ^ - [L]

RewriteCond %{REQUEST_URI} Voucher.* 
RewriteRule ^ - [L]


RewriteRule ^(.*)$ http://www.mymainwebsie.com  [R,L]

网站上的服务器配置分为两部分。一部分包含静态内容,另一部分包含动态内容。静态内容存储在 apache 服务器(版本 2.2)中,动态内容存储在 weblogic 服务器(10.3)中。每个请求都由 webserver(apache)处理。它内部根据文件夹名称决定请求是否由 apache 服务器或 weblogic 提供服务。

问题:-我有一个要求,其中上述目录中存在的一些文件不需要重定向,其余所有文件都将重定向到http://www.mymainwebsie.com

问题是使用上述规则,我可以阻止文件 www.example.com/info/card/index.jsp 被重定向。但是...所有内部请求(如对图像、javscript、css 的请求)都不会被阻止重定向。所有这些内部请求都被重定向到http://www.mymainwebsie.com这是不应该发生的。

我需要的是,一旦收到任何与上述模式匹配的 url,就不应该有任何重定向。

注意:- 重写规则写在.conf文件中,而不是.htaccess文件中。

相关内容