apache2 - как исключить псевдоним из правил перезаписи?
У меня есть настройки mod_rewrite и mod_alias на Apache2 на Debian (на тестовом сервере).
У меня есть следующий код переписать в /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, а не по псевдониму (который игнорируется / игнорируется?).
Как настроить правило исключения, чтобы разрешить пропуск псевдонимов (даже если псевдоним настроен в другом файле?)
2 ответа
Исключите URI, содержащие "/phpmyadmin/", если вы не хотите, чтобы они перенаправлялись:
RewriteCond %{REQUEST_URI} !/phpmyadmin/.*
Или просто переместите декларацию своего псевдонима в каталог или местоположение
Alias /phpMyAdmin /var/(...)
<Location />
RewriteEngine on
# (...)
</Location>
По wa: используйте Location с URL ('/'), а не 'Directory'.