【问题标题】:Apache 2.4: RegEx for Alias in httpd confApache 2.4:httpd conf 中别名的正则表达式
【发布时间】:2014-12-15 15:37:33
【问题描述】:

下面是我在 apache 2.4 httpd conf 文件中的别名 对于每个版本,我们都会更新版本号,并尝试使用正则表达式来捕获更改,而不是每次都手动更改版本号

例如,我们当前的版本是 Passport14200(14 是年份,2 是 2014 年的第二个版本)我们今年的下一个版本将是 Passport14300(2014 年的第三个版本),我们 2015 年的第一个版本将是 Passport15100

这就是我的 httpd conf 文件现在的样子

Alias /Passport14200 C:/Passport/tomcat/webapps/?Passport
<Directory C:/DC/Passport/tomcat/webapps/Passport>
    Require all denied
    <FilesMatch "\.(gif|jpe?g|jpg|png|js|css|ico)$">
        Require all granted
    </FilesMatch>

    ExpiresActive On
    ExpiresByType image/gif "access plus 10 years"
    ExpiresByType image/png "access plus 10 years"
    ExpiresByType text/css "access plus 10 years"
    ExpiresByType text/javascript "access plus 10 years"
    ExpiresByType application/javascript "access plus 10 years"
</Directory>

我想知道有没有办法使用正则表达式来别名,以便它捕获 Passport[\d{5}]?

我是正则表达式的新手,有人可以帮我解决这个问题吗?

【问题讨论】:

  • 为什么还需要别名?你听说过mod_rewrite 吗?有AliasMatch指令httpd.apache.org/docs/2.4/mod/mod_alias.html#aliasmatch
  • @Cheery 我对 apache conf 文件完全陌生,这是我的第一个任务,所以我不知道 mod_rewrite 以及从哪里开始这个任务。您能否给我一个在我的场景中使用 mod_rewrite / AliaMatch 的示例,我尝试查看示例,但我无法与我的案例相关,因为所有示例都是字符串而不是数字
  • 首先你要详细解释一下——你是想让别名指向同一个文件夹还是每个别名指向自己的文件夹?
  • 每个别名都指向同一个文件夹C:/Passport/tomcat/webapps/Passport

标签: regex apache httpd.conf vhosts


【解决方案1】:

每个别名都指向同一个文件夹 C:/DC/Passport/tomcat/webapps/Passport

这会将任何以 /Passport 开头的别名匹配到同一文件夹。

AliasMatch ^/Passport.* C:/DC/Passport/tomcat/webapps/Passport
<Directory C:/DC/Passport/tomcat/webapps/Passport>
    Require all denied
    <FilesMatch "\.(gif|jpe?g|jpg|png|js|css|ico)$">
        Require all granted
    </FilesMatch>

    ExpiresActive On
    ExpiresByType image/gif "access plus 10 years"
    ExpiresByType image/png "access plus 10 years"
    ExpiresByType text/css "access plus 10 years"
    ExpiresByType text/javascript "access plus 10 years"
    ExpiresByType application/javascript "access plus 10 years"
</Directory>

如果您想确保Passport 之后只有 5 位数字 - 请使用 AliasMatch ^/Passport\d{5} C:/DC/Passport/tomcat/webapps/Passport

【讨论】:

猜你喜欢
  • 2013-04-12
  • 2012-02-04
  • 2016-12-07
  • 1970-01-01
  • 2017-08-26
  • 1970-01-01
  • 1970-01-01
  • 2019-09-04
  • 2023-03-17
相关资源
最近更新 更多