apache - 如何修复 RewriteRule RewriteMap 语法
问题描述
我正在编写一个多站点平台,目前在我的 virtualhost/.htaccess 中使用以下内容
RewriteMap sitemap "txt:/home/fb/multimapper/map.txt"
RewriteCond %{HTTP_HOST} (.*) [NC]
RewriteRule (.*) /home/user/public_html/multimapper/sites/${sitemap:%1}/$1 [L]
我想将尾部斜杠 (/$1) 放在重写规则中,这样我就可以添加一个通用的 404 页面(在有人问之前:我不想使用多个 ErrorDocument 404 条目——这对于这个项目是不可行的)。
所以添加404.php ...
这个:${sitemap:%1}/$1 [L]
变成:${sitemap:%1/|404.php?catch=}$1 [L]
例如。
RewriteMap sitemap "txt:/home/fb/multimapper/map.txt"
RewriteCond %{HTTP_HOST} (.*) [NC]
RewriteRule (.*) /home/user/public_html/multimapper/sites/${sitemap:%1/|404.php?catch=}$1 [L]
问题是,${sitemap:%1/
失败。即使我反斜杠${sitemap:%1\/
有谁知道我做错了什么?
非常感谢
解决方案
推荐阅读
- python - 自定义活动正则化器以使用拉普拉斯算子平滑输出
- amazon-web-services - 私有子网的 EMR 安全组的 Cloud Formation
- node.js - 如何在父目录中运行构建,在部署到heroku之前将构建复制到当前目录
- c - C中数组的指针类型不兼容
- javascript - 在 this.setState 之后对象似乎未定义
- mongodb - 如何使用mongodb在数组中投影字段
- go - 使用 goroutine 处理退避
- ios - ios通用重定向链接不适用于真实设备,但适用于模拟器
- javascript - 单选按钮文本区域和 Javascript
- r - 在我的闪亮中插入 bs_embed_popover 函数