Mod rewrite Apache2日志未显示用于重写模块且未重写

Mod rewrite Apache2日志未显示用于重写模块且未重写,mod-rewrite,apache2,Mod Rewrite,Apache2,我在OVH有VPS,我用j2ee开发了网站,我用mod_jk将apache与tomcat联系起来 当我输入url时,我进入网站 直到现在一切都好 现在,我添加了rewrite,以便只使用ip_of_vps访问网站,而不使用上下文(myapp),为此,我在apache2.config中使用rewrite,如下所示: <virtualhost *:80> RewriteEngine On LogLevel alert rewrite:trace6 RewriteRule ^/$ htt

我在OVH有VPS,我用j2ee开发了网站,我用mod_jk将apache与tomcat联系起来

当我输入url时,我进入网站

直到现在一切都好

现在,我添加了rewrite,以便只使用ip_of_vps访问网站,而不使用上下文(myapp),为此,我在apache2.config中使用rewrite,如下所示:

<virtualhost *:80>
RewriteEngine On
LogLevel alert rewrite:trace6
RewriteRule ^/$  http://ip_of_vps/myapp/ [P,L]
</virtualhost>

重新启动发动机
日志级别警报重写:trace6
重写规则^/$http://ip_of_vps/myapp/ [P,L]
我将目录中的所有AllowOverride从none更改为All

当我尝试访问时,我看到了apache2主页

我忘了什么


我正在使用Ubuntu14.04服务器、apache2、tomcat7。

在我的脑海中,通常你会这样写

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    ReWriteRule your rule
</IfModule>

重新启动发动机
重写基/
改写你的规则
那么,mod_rewrite是否已加载? 您是否需要将RewriteBase设置为/myapp/

我的建议是在html根目录中放置一个.htaccess 用这样的规则

重写规则^myapp/(.*)$$1[L]

这样,您根本不需要mod_代理


希望这有帮助

是的,重写模块已启用,我想在不使用/myapp的情况下访问我的网站。当我添加RewriteBase/时,我出现了以下错误:RewriteBase:仅在每个目录配置文件中有效。此处不需要L标志。p标志暗示需要mod_代理。RewriteRule ^myapp/(.*)$$1可能是一个更好的主意。mybad RewriteBase用于.htaccess文件中-我认为如果您在apache2.config中配置mod_rewrite,它将默认为/。将使用建议的.htaccess编辑我的OP