我试图调试一些 apache 配置的问题,但是在使用 RewriteMap 时我无法让 apache 重写工作。
这是 /etc/apache2/map.txt 里面的内容
/21.html /1.html
/22.html www.localhost/2.html
www.localhost/23.html www.localhost/3.html
/23.html?blabla=bla /4.html
为了测试这一点,我提供了几个带有小脚本的 html 页面:
#!/bin/bash
COUNTER=1
while [ $COUNTER -lt 20 ]; do
echo "<html>
<body>
<h1>PAGE NR $COUNTER</h1>
<p>My first paragraph.</p>
</body>
</html>" > /var/www/$COUNTER.html
let COUNTER=COUNTER+1
done
我几乎尝试了在论坛/谷歌中找到的所有变体,但没有一个可以使我的 RewriteCond 和 RewriteRule 工作。
我不知道我的虚拟主机中的正确设置:
RewriteEngine on
RewriteMap map "/etc/apache2/map.txt"
RewriteCond ???????
RewriteRule ???????
我不太确定,但我认为我应该有多个 RewriteCond 和 RewriteRule 来匹配地图文件中所有这些不同的行。
另外我真的不知道如何使用地图文件中的值来匹配条件/规则。在某些示例中,人们指的是 1 美元和 2 美元,而有些则不是。
非常感谢任何帮助