RewriteMap根本不工作

时间:2015-04-13 20:38:07

标签: .htaccess rewritemap

我正在尝试让MapRewrite为一些虚荣网址工作,但我只是没有运气。我没有得到错误,它似乎没有工作(重定向)。

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

RewriteEngine On
RewriteMap vanURL txt:/var/www/vhosts/myconditions.txt
RewriteCond ${vanURL:$1|not-found} ^(.+)$
RewriteCond %1 ~^not-found$
RewriteRule ^/(.*) /${vanURL:$1|/$1} [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只是一个死链接。

有人能指出我正确的方向吗?

(请注意,我测试了将垃圾放入我的Vhost.conf和.htaccess以确保正在读取文件)

1 个答案:

答案 0 :(得分:1)

你不能在条件的LSH中使用%1,使用这样的负向前瞻:

RewriteEngine On

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

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