我正在努力让我们网站的网站地图功能正常运行。我被赋予了运行脚本的任务,该脚本以下列格式将几个文件传播到所述服务器:
指向 - >的sitemap.xml文件几个sitemap_10001 _?。xml.gz文件 这些文件存储在/ webfiles / sitemap / example /
的位置sitemap.xml文件指向这些文件:
example.com/webapp/wcs/stores/sitemap_10001_1.xml.gz (or 10001_2, _3, etc).
我遇到的问题是我打了一个正则表达式来评估对sitemap _ *。xml.gz的传入请求,并将它们指向我认为正确的方向。
AliasMatch ^/sitemap_(.*).xml.gz "/webfiles/sitemap/example/sitemap_$1.xml.gz"
在这一点上,尽我所能,这个正则表达式是悲惨的失败。
错误日志中没有任何内容,只是访问日志条目:
1.2.3.4 - - [09 / Oct / 2015:01:30:04 -0400]“GET /webapp/wcs/stores/sitemap_10001_2.xml.gz HTTP / 1.1”302 20“ - ”“Mozilla / 5.0 (Windows NT 10.0; WOW64)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 45.0.2454.99 Safari / 537.36“”1.2.3.4,1.2.3.4“4002”1.2.3.4,1.2.3.4“” - “www.example .com internalsitename:9085“http://www.example.com/GenericApplicationError”
任何修复精心制作的正则表达式的帮助都将受到赞赏。
答案 0 :(得分:0)
RegEx中的点(.
)用于匹配除新行字符之外的任何字符。你需要逃避这些'特殊'字符,通常使用反斜杠。您可能还想使用行尾锚点:
AliasMatch ^/sitemap_(.*)\.xml\.gz$ /webfiles/sitemap/example/sitemap_$1.xml.gz