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>
Сейчас, когда я делаю
перенаправить 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 получит шанс.
У меня это сработало. Кто-то помог мне с этим на сайте.
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]