htaccess中的e是什么意思?

时间:2018-12-05 14:52:42

标签: apache .htaccess httpd.conf mod-headers

我想向所有参数化URL添加非参数规范链接。我尝试通过以下方式做到这一点:

<IfModule mod_rewrite.c>

### Catching all URLs with non-empty parameter ###
    RewriteCond %{QUERY_STRING} . 

### Adding to all parametrized URLs an environment variable ###
    RewriteRule .* : [E=MY_HEAD:1]

</IfModule>

<IfModule mod_headers.c>

### Setting a non-parametrized URL as canonical to all URLs with an environment variable
    Header set Link '%{HTTP_HOST}%{REQUEST_URI}e; rel="canonical"' env=MY_HEAD

</IfModule>

我的问题是:寻找在e之后加上和不加上{REQUEST_URI}的结果示例。在这种情况下,此e是什么意思?

2 个答案:

答案 0 :(得分:2)

PHP中的e Regex修饰符。

e修饰符是已弃用的regex修饰符,它使您可以在正则表达式中使用PHP代码。这意味着您解析的内容将被视为程序的一部分。

,您也可以参考this

答案 1 :(得分:1)

emod_headers 用于引用环境变量的语法:

https://httpd.apache.org/docs/current/mod/mod_headers.html#Header

<块引用>

%{VARNAME}e 环境变量 VARNAME 的内容。


注意:我知道这是旧的,但我有同样的问题,而且 PHP 答案与 htaccess 无关。