在Tomcat中,可以通過配置web.xml文件或者使用Tomcat提供的Rewrite Valve來實現URL重寫規則。
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.example.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/old-url</url-pattern>
</servlet-mapping>
在上面的示例中,將名為MyServlet
的Servlet映射到/old-url
的URL上,當訪問/old-url
時,實際上會調用MyServlet
。
在Tomcat的server.xml
配置文件中,可以添加如下配置:
<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />
然后在conf
目錄下創建rewrite.config
文件,并添加如下規則:
RewriteCond %{REQUEST_URI} ^/old-url
RewriteRule ^/old-url$ /new-url [R]
在上面的示例中,當訪問/old-url
時,會重定向到/new-url
。
需要注意的是,使用Rewrite Valve需要確保Tomcat版本大于等于8.0,并且在conf
目錄下的catalina.properties
文件中添加如下配置:
org.apache.catalina.valves.rewrite.RewriteValve.REWRITE_CONFIG = rewrite.config
這樣就可以通過配置web.xml文件或使用Rewrite Valve來實現URL重寫規則。