我在tomcat(通过mod_jk)前面使用了apache 2.2.9,它在webapp下有一个ROOT文件夹和一些.html文件。
我默认配置URL重写:
<VirtualHost *:80>
<IfModule mod_rewrite.c>
RewriteLog /var/log/apache2/rewrite.log
RewriteLogLevel 3
</IfModule>
ServerAdmin webmaster@localhost
ServerName www.megamadz.com
ServerAlias megamadz.com
DocumentRoot /usr/tomcat/webapps
JKMount /* ajp13_worker
...
AllowOverride All
我将.htaccess放在webapps和ROOT下,但是rewrite.log有0输出,无论我在浏览器中输入什么,http://mydomain/about-us它说......不可用,它从不指向{{3} }
这是我的.htaccess文件:
RewriteEngine On # Turn on the rewriting engine
RewriteRule ^about-us$ about-us.html [NC,L]
答案 0 :(得分:0)
你所尝试的东西永远不会奏效。 JKMount /* ajp13_worker
表示所有请求都转发到Tomcat而不是由Apache处理。由于Apache不处理请求,因此它也不会处理.htaccess
文件。
现在的情况是你应该在Tomcat中进行重写。如果这不是您想要做的,您应该将重写规则移到虚拟主机中,以便处理它们。
但是看起来你正在尝试重写静态文件,但是你有一个设置基本上每个东西都由Tomcat处理。也许您确实需要JKMount /someApp
之类的东西,创建一个Tomcat只处理Web应用程序请求并且Apache提供静态文件的场景。