我的目标是将非 jsp URL 重定向到不同的子文件夹
浏览器网址
- http://mydomain.com/site-Xghthhg/css/styles1/layouts.css
- http://mydomain.com/site-Xghthhg/jslibs/jquery/jquery.js
- http://mydomain.com/site-Xghthhg/jslibs/jquery/plugins/jd/jquery.jd.js
代理到
- http://mydomain.com/map/css/styles1/layouts.css
- http://mydomain.com/map/jslibs/jquery/jquery.js
- http://mydomain.com/map/jslibs/jquery/plugins/jd/jquery.jd.js
httpd.conf
RewriteCond %{REQUEST_FILENAME} !(.+.jsp)
RewriteCond %{REQUEST_URI} ^/site-(.*)/^(.*)$
RewriteRule ^/site-(.*)/^(.*)$ /map/$2 [P]
我不明白为什么它不起作用!
您应该在第一行使用 REQUEST_URI。 您不需要第二行。最后,您的正则表达式无效,插入符号表示"匹配开头",因此在正则表达式中间使用它毫无意义。
RewriteCond %{REQUEST_URI} !(.+.jsp)
RewriteRule ^/site-([^/]*)/(.*)$ /map/$2 [P]
在这里,我确实在中间使用了插入符号,但在 [] 上下文中,插入符号具有不同的含义:匹配除以下内容以外的任何字符(因此 [^/]* 匹配非斜杠的字符串)。