标签: rewritemap

哪里允许使用 RewriteMap?

这似乎是一个非常简单的问题。

我尝试将 RewriteMap 指令放在 .htaccess 文件中,但日志显示警告:

RewriteMap not allowed here
Run Code Online (Sandbox Code Playgroud)

然后我尝试将它放在 apache2/sites-available 文件中的 VirtualHost 声明中,但是重新加载 apache 给了我:

RewriteMap not allowed here
...fail!
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,都启用了 RewriteEngine。

这是指文件系统上实际映射的位置,还是 RewriteMap 指令?

以防万一它有帮助:

<VirtualHost *:80>
  ServerName localhost
  etc...
  <Directory /var/www/site>
  AllowOverride all
  Options Indexes FollowSymLinks MultiViews
  Order allow,deny
  Allow from 127.0.0.1
  RewriteEngine On
  RewriteMap map txt:/var/www/site/map.txt
  RewriteRule /path/[^/]+/([^/]+) ${map:$1} 
  etc...
Run Code Online (Sandbox Code Playgroud)

mod-rewrite rewritemap apache-2.2

5
推荐指数
1
解决办法
7404
查看次数

带有正则表达式的 postfix smtp_generic_maps

我刚刚开始尝试使用 postfix 重写发件人地址。debian-7.11我用和运行服务器postfix-2.9.6

内容/etc/postfix/main.cf

[...]
smtp_generic_maps = hash:/etc/postfix/generic
[...]
Run Code Online (Sandbox Code Playgroud)

内容/etc/postfix/generic

santiago@uranus.caoba.fr        santiago.uranus.caoba.fr@caoba-mail.fr
auguste@uranus.caoba.fr         auguste.uranus.caoba.fr@caoba-mail.fr
Run Code Online (Sandbox Code Playgroud)

到目前为止它有效。当用户santiago发送电子邮件时,它会按照santiago.uranus.caoba.fr@caoba-mail.fr我想要的方式发送。

我的问题是我希望任何用户都可以执行此重写,而不必向/etc/postfix/generic. 所以我想知道是否可以通过某种正则表达式来完成,例如:

(.*)@$hostname  $1.$hostname@caoba-mail.fr
Run Code Online (Sandbox Code Playgroud)

这有可能吗?

感谢您的帮助

圣地亚哥

postfix regular-expressions rewritemap

3
推荐指数
1
解决办法
6224
查看次数