2010-06-03 47 views
2

任何人都可以帮助解决在Apache2重写问题?没有从.htaccess文件处理Apache mod_rewrite规则

我已经在apache2中启用了mod_rewrite。

但apache只是忽略了我的.htaccess文件的重写规则。

这是我的虚拟主机配置:

<VirtualHost *:80> 
    ServerName www.modomain.eu 
    ServerAlias mydomain.eu *.mydomain.eu mydomain.es *.mydomain.es 
    DocumentRoot /home/sites/mydomain.es 

    <Directory /home/sites/mydomain.es> 
     AllowOverride None 
    </Directory> 
</VirtualHost> 

回答

2

here例如为:

默认情况下,从主服务器上下文mod_rewrite的配置设置不被虚拟主机继承。为了使主服务器设置应用到虚拟主机,你必须将下列指令中的每个部分:
 
RewriteEngine On 
RewriteOptions Inherit 
+1

你不在主配置中需要'RewriteEngine On'。这可以直接在.htaccess中完成。 在上面的例子中,AllowOverride被设置为none。除非打开,否则您将无法处理.htaccess文件。 – shreddd 2010-09-02 05:58:24

+0

@shreddd ok;然后你可能需要我写的东西(这是进入文档,如果你错过了细节) – ShinTakezou 2011-04-23 19:12:34

+0

伙计..你真棒.. *眼泪* ..:P – 2013-03-19 07:03:57

5

.htaccess文件不被处理,如果你有设置AllowOverride设置为“无”。如果将其设置为“allowoverride all”,它应该允许您覆盖vhost配置文件中的设置。

0

设置如下:

AllowOverride All 

<Directory>

这将允许.htaccess文件,以能够覆盖各种设置(如重写规则)