使用AliasMatch缩短URL

时间:2013-04-18 14:49:54

标签: regex apache mod-alias

我能够使用以下配置: -

Alias /webdoc /data/apps/jenkins/jobs

<Directory /data/apps/jenkins/jobs/[a-zA-Z0-9\-]+/workspace/target/docco>
  Order allow,deny
  Allow from all
</Directory>

使用此配置,我可以使以下URL工作

http://myserver/webdoc/HCMS-JS/workspace/target/docco/horizontal/index.html

但是,我想将网址缩短为: -

http://myserver/webdoc/HCMS-JS/horizontal/index.html

我尝试了以下配置,但在尝试点击上述链接时我一直收到404: -

AliasMatch ^/webdoc/([a-zA-Z0-9\-]+)/(.*) /data/apps/jenkins/jobs/$1/workspace/target/docco$2

<Directory /data/apps/jenkins/jobs/[a-zA-Z0-9\-]+/workspace/target/docco>
  Order allow,deny
  Allow from all
</Directory>

我如何让它工作?感谢。

1 个答案:

答案 0 :(得分:0)

您的AliasMatch缺少斜线:

AliasMatch ^/webdoc/([a-zA-Z0-9\-]+)/(.*)

此处的第一场比赛将是HCMS-JS。第二个是horizontal/index.html。这意味着结果将是

/data/apps/jenkins/jobs/HCMS-JS/workspace/target/doccohorizontal/index.html

因此您需要将行更改为

AliasMatch ^/webdoc/([a-zA-Z0-9\-]+)/(.*) /data/apps/jenkins/jobs/$1/workspace/target/docco/$2

插入未捕获的斜杠。

查找这些问题的第一个好处是apache错误日志。它应该告诉你它找不到的文件。