apache2 – 如何从重写规则中排除别名?

我已经在Debian上的Apache2上设置了mod_rewrite和mod_alias(在testing服务器上)。

我在/etc/apache2/sites-available/default有以下重写代码:

 <Directory /> Options FollowSymLinks AllowOverride All RewriteEngine on RewriteCond %{REQUEST_URI} !\.(php|html|css|js|gif|png|jpe?g)$ RewriteRule (.*)$ /index.php [L] </Directory> 

我有以下别名代码,默认情况下从phpmyadmin软件包(通过apt-get install phpmyadmin加载,位于/etc/apache2/conf.d/phpmyadmin.conf )进行设置:

 Alias /phpmyadmin /usr/share/phpmyadmin 

每次我加载http://my.test.server/phpmyadmin ,它转到http://my.test.server/index.php而不是别名(被绕过/忽略?)。

如何设置排除规则以允许别名通过(即使别名是在不同的文件中设置的)?

排除包含“/ phpmyadmin /”的URI,如果您不希望它们redirect:

 RewriteCond %{REQUEST_URI} !/phpmyadmin/.* 

或者只是在目录或位置之前移动别名的声明

 Alias /phpMyAdmin /var/(...) <Location /> RewriteEngine on # (...) </Location> 

由wa:使用URL('/')的位置,而不是'目录'。