Apache htaccess重写规则不适用于jsp文件,所有剩余文件(.html、js、css、jpg)是否正常工作?

Apache htaccess重写规则不适用于jsp文件,所有剩余文件(.html、js、css、jpg)是否正常工作?,apache,.htaccess,jsp,mod-rewrite,Apache,.htaccess,Jsp,Mod Rewrite,我在linux服务器上以以下文件夹结构托管了jsp网站: public_html/ROOT/hosted_files_including_jsp_and_other_files public_html/.htaccess 我在htaccess文件中添加了以下重写规则: RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?my_domain\.com$ RewriteRule !^ROOT/ /ROOT%{REQUEST_URI} [L] 它

我在linux服务器上以以下文件夹结构托管了jsp网站:

public_html/ROOT/hosted_files_including_jsp_and_other_files
public_html/.htaccess
我在htaccess文件中添加了以下重写规则:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?my_domain\.com$
RewriteRule !^ROOT/ /ROOT%{REQUEST_URI}  [L]
它重写了html、js、css和图像等文件的每个url。但当我试图调用jsp文件时,它并没有重写和显示404文件未找到错误

当我打电话时:

https://www.my_domain.com/test.html
https://www.my_domain.com/test.jsp
它正在重定向到
https://www.my_domain.com/ROOT/test.html

但当我打电话时:

https://www.my_domain.com/test.html
https://www.my_domain.com/test.jsp

它没有重定向并显示404文件未找到错误

Apache服务器本身不运行JSP,它需要插入一个servlet引擎。试试同样由Apache支持的雅加达Tomcat引擎。

谢谢您的回复。实际上,我可以运行,jsp正在那里工作,但我想重定向到。所以mod_重写在这里不起作用rewriterule^(.*)$/ROOT/$1[R,NE,QSA,P,L]?我尝试了给定的重写规则,但仍然不适用于jsp文件其余文件工作正常?您可以在运行shared tomcat 5.5的linux服务器的httpd.conf中记录发生的事情rewriteLog“logs/rewrite.log”RewriteLogLevel 9,如果我们直接调用,jsp文件运行良好。但是我必须将jsp文件URL重写为/ROOT/目录。你能帮我解决这个问题吗?Apache是如何与Tomcat通信的?有AJP连接器吗?事实上,我无法从托管的共享服务器获得此类详细信息。我只知道这个版本使用的是ApacheTomcat/5.5.36。在这里,我们的jsp脚本可以很好地使用带有“/ROOT/”的url。重写过程也可以很好地处理URL,除了“.jsp”扩展名。我认为htaccess mod rewrite的.jsp文件存在一些问题。请您帮助解决这个问题。很可能.htaccess甚至不用于
.jsp
文件。那么,是否有其他方法将jsp文件重定向到子目录(/ROOT/)中?