URL重写在Apache Tomcat 9.0.30版本中不起作用。为什么?
当我在URL重写在Apache Tomcat 9.0.30版本中不起作用。为什么?,tomcat,url-rewriting,tomcat9,apache,Tomcat,Url Rewriting,Tomcat9,Apache,当我在rewrite.config中启用RewriteEngine时,tomcat会在启动时自动终止 为什么会这样 rewrite.config如下所示: RewriteEngine On RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR] RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d RewriteRule ^ - [L] RewriteRule
rewrite.config
中启用RewriteEngine
时,tomcat会在启动时自动终止
为什么会这样
rewrite.config
如下所示:
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]
RewriteRule ^ /index.html
我正在为url重写配置tomcat。我在conf/context.xml中添加了以下语句
<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />
<JarScanner scanClassPath="false" />
我的最佳选择是:将ApacheHttpD重写配置放置到Tomcat期望其自身格式的位置。如果您进行检查,您将不会在任何地方找到任何记录的
RewriteEngine
指令,并且您的错误消息会提到invalid.line
。这是你的提示
最重要的是,在问题上加上标签是相当误导的。注意你的标签(例如,通过鼠标悬停阅读标签文档)你能添加rewrite.config文件吗?这会很有帮助。一个导致Tomcat根本无法启动的httpd配置?你需要提供更多的信息,而不是“有些东西不起作用”——就目前而言,这个问题是无法回答的,因为Tomcat没有任何关于httpd配置的信息,因此,此配置不能成为启动失败的原因fail@OlafKock它从上面的配置开始,如POST中所述。我已编辑为“问题”,以排除误导性的标记谢谢。引擎配置错误。现在开始工作了。
java.lang.IllegalStateException: Error starting child
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:720)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1133)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1867)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1045)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:429)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1576)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Catalina.start(Catalina.java:633)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:343)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:474)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [RewriteValve[StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]]
at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
at org.apache.catalina.core.StandardPipeline.startInternal(StandardPipeline.java:176)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5063)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
... 37 more
Caused by: java.lang.IllegalArgumentException: rewriteValve.invalidLine
at org.apache.catalina.valves.rewrite.RewriteValve.parse(RewriteValve.java:642)
at org.apache.catalina.valves.rewrite.RewriteValve.parse(RewriteValve.java:221)
at org.apache.catalina.valves.rewrite.RewriteValve.startInternal(RewriteValve.java:173)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
... 42 more