Postfix multi instance with separate SASLDB for each instance

I configured postfix with multiple instances (postmulti), each instance has your own IP address and it´s working great, but I need each instance uses it´s own sasldb2 file to authenticate users.

The problem I am consolidating 35 postfix dedicated VMs in 1 vm with postmult, but this 35 instances is for a authenticated relay and all has the same username "auth@smtp.com.brhtml . В настоящее время, когда я перенаправляю 301 «abc» «abc.hml» , второй URL также перенаправляется на http://example.com/abc.html/def.html .

Мои текущие правила.

<IfModule rewrite_module>
RewriteEngine On

RewriteRule ^/$ /content/aaa-123/abc.html [PT,L]
RewriteRule ^/index.html$ /content/aaa-123/abc.html [PT,L]
RedirectMatch ^/abc$ /abc.html

RewriteCond %{REQUEST_URI} !^/(.*)/$
RewriteCond %{REQUEST_URI} !^(.*)\.(.*)$

RewriteRule ^/(.*)$ /content/$1/ [L]

RewriteRule \.(css|jpe?g|gif|png|js)$ - [L]

ErrorDocument 404 /errors/404.html    
<IfModule mod_expires.c>
  ExpiresActive on  
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>

<IfModule mod_headers.c>
  <FilesMatch "\.(js|css|xml|gz)$">
    Header append Vary: Accept-Encoding
  </FilesMatch>
</IfModule>
1
задан 25 August 2016 в 23:48
2 ответа

Сейчас, когда я делаю перенаправить 301 «abc» «abc.hml» , второй URL также перенаправляет на http://example.com/abc.html/def.html .

mod_alias Redirect директива соответствует префиксу , который объясняет ваше нежелательное перенаправление.

Но также не смешивайте перенаправления от обоих mod_alias (например, RedirectMatch и Перенаправление ) и mod_rewrite (например, RewriteRule ). Поскольку это разные модули, они выполняются в разное время (обычно сначала mod_rewrite) независимо от очевидного порядка, поэтому вы можете запутаться в конфликтах.

Попробуйте следующее в конфигурации вашего сервера, чтобы внутренне перезаписать ] / abc до /abc.html

RewriteRule ^/abc$ /abc.html [L]

Однако у вас могут возникнуть проблемы, если / abc является физическим каталогом в файловой системе, поскольку mod_dir обычно пытается «исправить» URL, добавив косую черту. Итак, вам нужно сделать завершающую косую черту необязательной:

RewriteRule ^/abc/?$ /abc.html [L]

Также отключите MultiViews , если она уже включена:

Options -MultiViews

MultiViews (часть mod_negotiation) делает то же самое ( внутренне перепишите / abc в /abc.html или /abc.php или что-то еще), но выполнит до того, как mod_rewrite получит шанс.

1
ответ дан 3 December 2019 в 23:42

У меня это сработало. Кто-то помог мне с этим на сайте.

Options -MultiViews
RewriteEngine On

RewriteRule ^/abc/?$ /abc.html [NC,L,R=302]

RewriteRule \.(css|jpe?g|gif|png|js)$ - [L,NC]

RewriteRule ^/(index\.html)?$ /content/aaa-123/abc.html [PT,L,NC]

RewriteCond %{REQUEST_URI} !^/(.*)/$
RewriteCond %{REQUEST_URI} !^(.*)\.(.*)$
RewriteRule ^/(.*)$ /content/$1/ [L]
0
ответ дан 3 December 2019 в 23:42

Теги

Похожие вопросы