mod_rewrite: 访问URL路径 RewriteCond

如何匹配URL路径

RewriteCond



.htaccess

?

我想要它,因为我正在尝试制作我的Web服务器透明代理的一个子目录 + 缓存请求到另一个服务器,我想写

.htaccess

像这样:

RewriteCond "%{ENV:CACHE_BASE}/%{URL_PATH}" -f
RewriteRule (.*) "%{ENV:CACHE_BASE}/$1" [L]
RewriteRule (.*) "download_and_cache.cgi?$1"

因此,在Keshe中已经存在的查询请求将被发送 Apache, 并且将处理不在Keshe中的文件的请求

download_and_cache.cgi

脚本 (谁将它们放入缓存中).

NB: 我不能使用

%(REQUEST_URI}

, 因为如果

.htaccess

住在

/foo/

, 拜访

/foo/README.txt

将检查缓存

$CACHE_BASE/foo/README.txt

, 代替

$CACHE_BASE/README.txt

它应该如何。
已邀请:

董宝中

赞同来自:

我的 Mod_rewrite 一点生锈,但你将无法使用
http://httpd.apache.org/docs/2 ... ebase
会计指令 "/ foo"

或者我认为你可以使用一个背部链接

RewriteCond %{REQUEST_URI} foo/(.*)
RewriteCond "%{ENV:CACHE_BASE}/%1" -f

或者,如果我正确地接下来,首先在缓存中重写,然后检查您是否需要先下载。 像这样:

RewriteRule foo/(.*) "%{ENV:CACHE_BASE}/$1" [L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule (.*) "download_and_cache.cgi?$1"

如果可以使用
http://httpd.apache.org/docs/2 ... ource
它会提出上面的一个清洁剂。

要回复问题请先登录注册