Apache mod_rewrite用于替换所有非脚本URI的子文件夹

时间:2012-05-14 04:14:31

标签: mod-rewrite

我的目标是将非jsp网址重定向到不同的子文件夹

浏览器网址

代理

的httpd.conf

RewriteCond  %{REQUEST_FILENAME} !(.+\.jsp) 
RewriteCond  %{REQUEST_URI} ^/site-(.*)/^(.*)$
RewriteRule  ^/site-(.*)/^(.*)$ /map/$2 [P] 

我不明白为什么它不起作用!

1 个答案:

答案 0 :(得分:0)

你应该在第一行使用REQUEST_URI。你不需要第二行。 最后,你的正则表达式是无效的,插入符号意味着“匹配开头”,所以在正则表达式的中间使用它是没有意义的。

 RewriteCond %{REQUEST_URI} !(.+\.jsp)
 RewriteRule ^/site-([^/]*)/(.*)$ /map/$2 [P]

在这里,我确实在中间但在[]上下文中使用插入符号,插入符号具有不同的含义:匹配任何字符除了以下(因此[^ /] *匹配一个字符串不是斜杠的字符。)