使用带有httpd和tomcat的mod_jk发出加载资源

时间:2017-04-19 15:46:56

标签: apache tomcat virtualhost httpd.conf mod-jk

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

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

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

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

如果我将网址配置为从www.mahmudul.com/Mahmudul加载,那么并非一切正常,因为资源位置为/assets/css/styles/。但我更改了上面的配置以生成URL www.mahmudul.com。但现在资源/Mahmudul/assets/css/styles/的位置和资源没有加载。此外,当点击任何链接,例如&#34;联系&#34;时,链接显示&#34; / Mahmudul / contact&#34;并且会话ID附有链接。我想省略/Mahmudul。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。在这里,我没有必要重写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>

我希望它有所帮助。谢谢。