我正在托管几个相同wordpress安装的域名,现在我想为每个域文件夹提供一些我需要放在那里的各种文件。
基本上我想这样映射:
URL Path webbfarbror.se/f/* _files/webbfarbror.se/* grapefrukt.com/f/* _files/grapefrukt.com/*
这个小片段很好地完成了工作,RewriteCond允许我在每个域的基础上启用和禁用它。
ReWriteCond %{HTTP_HOST} webbfarbror.se
ReWriteRule ^f/(.*)$ _files/%{HTTP_HOST}/$1 [L]
但是,例如http://grapefrukt.com/f/awesome.jpg的文件也可通过“真实”网址http://grapefrukt.com/_files/grapefrukt.com/awesome.jpg
访问我的所有尝试都会导致来回无限重定向。
如何通过后一个URL禁用访问?
答案 0 :(得分:1)
您可以检查发送到服务器的原始请求,该请求以%{THE_REQUEST}
的形式提供。检查/_files/
前缀表示请求属于后一种类型,然后您可以重定向到适当的格式:
RewriteCond %{THE_REQUEST} ^[A-Z]+\s/_files/
RewriteRule ^_files/[^/]+/(.*)$ http://%{HTTP_HOST}/f/$1 [R=301,L]