我正在尝试让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以确保正在读取文件)
答案 0 :(得分:1)
你不能在条件的LSH中使用%1
,使用这样的负向前瞻:
RewriteEngine On
RewriteMap vanURL txt:/var/www/vhosts/myconditions.txt
RewriteRule ^/([^/]+)(/.*)?$ /${vanURL:$1}$2 [PT]