Linux apache2重写规则不起作用

Linux apache2重写规则不起作用,linux,apache,ubuntu,apache2,rewrite,Linux,Apache,Ubuntu,Apache2,Rewrite,我试图在apache2 conf中编写一些重写规则,但它们不起作用 下面是我在apache配置中的virtualhost块。我的操作系统是ubuntu 12.04服务器版 DocumentRoot /var/www/xyz <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /v

我试图在apache2 conf中编写一些重写规则,但它们不起作用 下面是我在apache配置中的virtualhost块。我的操作系统是ubuntu 12.04服务器版

    DocumentRoot /var/www/xyz

    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/xyz>
            Options Indexes FollowSymLinks MultiViews
            #AllowOverride None
            AllowOverride All
            Order allow,deny
            #Order deny,allow
            allow from all
     </Directory>
我有一个.htaccess文件,其中包含一些重写规则,如下所示

ReWriteEngine on RewriteRule ^/matchV/(.*) http://host:8080/$1 RewriteRule ^/other/(.*?)$ /httpdcontent/$1 重写模块是使用apache启用的

有人能告诉我我是否遗漏了什么吗

谢谢


Sandeep

首先,第一条重写规则似乎缺少一个美元符号。 然后,我建议在调试情况下使用[L]。这样,当时只需修改一条规则

如果需要检查重写过程,则需要查看日志文件/var/log/apache2/error.log和/var/log/apache2/access.log。他们将告诉您服务器试图处理的URL以及失败的原因。从这一点上,你应该能够看到什么缺失了,或者什么太多了

据我所见,我认为这与重写基础有关。您的Web服务器根目录可能位于/var/www,虚拟主机的目录为/var/www/xyz。我想你可以用类似于

RewriteBase /xyz

无论如何,编辑配置,不要停止检查日志。从那里,您将看到服务器试图处理的URL/文件,并且您应该能够更正它使用的路径。

在配置中重写base的确切位置?这可以在.htaccess文件中完成,只要您有覆盖设置。