VirtualHost с RewriteRule и псевдонимом Apache не работает - PullRequest
0 голосов
/ 24 января 2019

<VirtualHost *:80>
 ServerName abc.example.com
 ServerAlias abc.example.com
 DocumentRoot /var/www/html/abc

 RewriteEngine On
    # If an existing asset or directory is requested go to it as it is
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
    RewriteCond %{REQUEST_URI} !^/adl/$
    RewriteRule ^ - [L]
    # If the requested resource doesn't exist, use index.html
    RewriteRule ^ /index.html
</VirtualHost>

alias /adl /opt/dl

У меня есть такая настройка виртуального хоста, и она отлично работает. Теперь я хочу, если в пути есть / adl , которое правило перезаписи не должно применять, и у меня есть псевдоним для него, направленный к пути в структуре моего машинного каталога.

1 Ответ

0 голосов
/ 04 февраля 2019

Я исправил это, как показано ниже

<VirtualHost *:80>
 ServerName walton2.biz-motion.com
 ServerAlias walton2.biz-motion.com
 DocumentRoot /var/www/html/fmcg

 RewriteEngine On
 RewriteRule ^/?(adl)($|/) - [L]    
 RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
 RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
 RewriteRule ^ - [L]
 RewriteRule ^ /index.html
</VirtualHost>

Написал, потому что, если кто-то сталкивается с этим.

...