我正在尝试在 Apache 中创建重写规则,以匹配与从
RewriteMap
检索到的特定值不匹配的 URL。
我有一个
RewriteMap
定义如下:
RewriteMap product_map txt:/path/to/product_map.txt
RewriteMap
包含如下条目:
55-55f /tv-backlight/55-55f
65-65ju /tv-backlight/65-65ju
我的目标是:
RewriteMap
中查找产品密钥以获取相应的主 URL。REQUEST_URI
与从 RewriteMap
检索到的主 URL 进行比较。410 Gone
状态。我尝试过的: 尝试 1:使用基本 RewriteCond
RewriteCond %{REQUEST_URI} ^.*/([^/]+)$
RewriteCond ${product_map:%1|NOT_FOUND} !=NOT_FOUND
RewriteCond %{REQUEST_URI} !=${product_map:%1|NOT_FOUND}
RewriteRule ^ - [G,L]
${product_map:%1|NOT_FOUND}
右侧的 RewriteCond
未计算。 Apache 将 ${product_map:%1|NOT_FOUND}
视为文字字符串。尝试 2:使用 RewriteCond
expr
RewriteCond %{REQUEST_URI} ^.*/([^/]+)$
RewriteCond ${product:%1|NOT_FOUND} ^(.*)$
RewriteCond expr "%{REQUEST_URI} != %2"
RewriteRule ^ - [G,L]
%2
右侧的 RewriteCond
未计算。 Apache 将 %2
视为文字字符串。