【问题标题】:Issue loading resources using mod_jk with httpd and tomcat使用带有 httpd 和 tomcat 的 mod_jk 加载资源的问题
【发布时间】:2017-09-15 23:03:41
【问题描述】:

我有一个 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>

如果我将 URL 配置为从 www.mahmudul.com/Mahmudul 加载,则并非一切正常,因为资源位置是 /assets/css/styles/。但是我更改了上面的配置,使 URL www.mahmudul.com。但现在资源的位置/Mahmudul/assets/css/styles/ 和资源没有加载。此外,当单击“联系人”等任何链接时,链接会显示“/Mah​​mudul/contact”,并且会话 ID 也会附在链接中。我想省略/Mahmudul。我怎样才能做到这一点?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2014-10-19
      • 2013-11-21
      • 2014-10-23
      • 2020-09-19
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 2012-11-15
      • 1970-01-01
      相关资源
      最近更新 更多