RewriteMap 根本不起作用

RewriteMap not working at all

我正在尝试让 MapRewrite 为一些虚荣的 url 工作,但我只是运气不好。我没有收到错误,它似乎不起作用(重定向)。

这是我在 vhost.conf 中输入的代码:

RewriteEngine On
RewriteMap vanURL txt:/var/www/vhosts/myconditions.txt
RewriteCond ${vanURL:|not-found} ^(.+)$
RewriteCond %1 ~^not-found$
RewriteRule ^/(.*) /${vanURL:|/} [L]

我要做的是确定 "www.mydomain.com/some_folder" 是否存在。如果没有,请在 "myconditions.txt" 中查找 "some_folder" 并重定向到相应的位置。

这里有一个例子MyConditions.txt

some_folder another_folder
some_folder_two another_folder_two

访问 www.mydomain/some_folder 简直是死了 link.

谁能给我指出正确的方向?

(请注意,我确实测试过将垃圾放入 Vhost.conf 和 .htaccess 以确保文件被读取)

您不能在条件的 LSH 中使用 %1,使用这样的否定前瞻:

RewriteEngine On

RewriteMap vanURL txt:/var/www/vhosts/myconditions.txt

RewriteRule ^/([^/]+)(/.*)?$ /${vanURL:} [PT]