我有一个tomcat应用程序。我也在使用apache服务器,并使用mod_jk将其连接到tomcat。在这里,我使用了重写模块来更改URL,但是当我的网站运行时,页面资源(css,js)无法正确加载。

我的tomcat应用程序名称Mahmudul。我想使URL为www.mahmudul.com,所以我配置了httpd.conf文件。这是我的配置。

<VirtualHost *:80>
 ServerName www.mahmudul.com

 RewriteEngine on
 RewriteRule ^/(.*)$ /Mahmudul/$1 [l,PT]
 JkMount /* tomcat1
</VirtualHost>


如果我将URL配置为从www.mahmudul.com/Mahmudul加载,则并非一切都能正常工作,因为资源位置为/assets/css/styles/。但是我更改了上面的配置以使URL www.mahmudul.com。但是现在资源/Mahmudul/assets/css/styles/的位置和资源未加载。同样,当单击任何链接(例如“联系人”)时,链接显示“ / Mahmudul / contact”,并且会话ID随链接一起附加。我想省略/Mahmudul。我怎样才能做到这一点?

最佳答案

我已经解决了这个问题。在这里,我不必重写URL。我使用了相同的虚拟主机配置,但没有RewriteEngine。我只需要配置tomcat server.xml并添加新的主机配置。这是配置-

<Host name="mahmudul.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
    <Alias>www.mahmudul.com</Alias>
    <Context path="" docBase="Mahmudul-1.0-SNAPSHOT" debug="0" privileged="true" />
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" resolveHosts="false" />
</Host>


这是我的worker.properties

worker.list=tomcat1
worker.tomcat1.type=ajp13
worker.tomcat1.port=8009
worker.tomcat1.host=localhost


和我的apache httpd.conf虚拟主机配置

<VirtualHost *:80>
        ServerName mahmudul.com
        ServerAlias www.mahmudul.com
        JkMount /* tomcat1
</VirtualHost>


希望对您有所帮助。谢谢。

07-24 21:17