我有一个 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”,并且 session 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 "%r" %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>
希望对你有所帮助。谢谢。
关于apache - 使用带有 httpd 和 tomcat 的 mod_jk 发布加载资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43500434/