我已经在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('/')的位置,而不是'目录'。